state package:ghc-lib-parser

Unit manipulation
A state monad which is strict in the state s, but lazy in the value a. See Note [Strict State monad] for the particular notion of strictness and implementation details.
The term oracle state. Stores VarInfo for encountered Ids. These entries are possibly shared when we figure out that two variables must be equal, thus represent the same set of values. See Note [TmState invariants] in GHC.HsToCore.Pmc.Solver.
The type oracle state. An InertSet that we incrementally add local type constraints to, together with a sequence number that counts the number of times we extended it with new facts.