Module Id_types

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