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 () -> Id
module UnitId : functor (_ : Id) -> functor (Compilation_unit : Identifiable.Thing) -> UnitId with module Compilation_unit := Compilation_unit