module type BaseId = sig ... end
Generic identifier type
module type Id = sig ... end
module type UnitId = sig ... end
Fully qualified identifiers
module Id : functor (E : sig ... end) -> Id
If applied generatively, i.e.
Id(struct end)
, creates a new type of identifiers.
module UnitId : functor (Id : Id) -> functor (Compilation_unit : Identifiable.Thing) -> UnitId with module Compilation_unit := Compilation_unit