Information about the home unit (i.e., the until that will contain the modules we are compiling)
The unit identifier of the instantiating units is left open to allow switching from UnitKey (what is provided by the user) to UnitId (internal unit identifier) with homeUnitMap.
TODO: this isn't implemented yet. UnitKeys are still converted too early into UnitIds in GHC.Unit.State.readUnitDataBase
Constructors
DefiniteHomeUnit UnitId (Maybe (u, GenInstantiations u))Definite home unit (i.e. that we can compile).
Nothing: not an instantiated unit Just (i,insts): made definite by instantiating "i" with "insts"
IndefiniteHomeUnit UnitId (GenInstantiations u)Indefinite home unit (i.e. that we can only typecheck)
All the holes are instantiated with fake modules from the Hole unit. See Note [Representation of module/name variables] in GHC.Unit