Module type Uid.Id

Identifiers have abstract types, but are comparable so they can be used as keys in maps or sets. Their underlying information can be retrieved at any time.

type t
type info
val fresh : info -> t
val get_info : t -> info
val compare : t -> t -> int
val equal : t -> t -> bool
val format_t : Stdlib.Format.formatter -> t -> unit
val hash : t -> int
module Set : Stdlib.Set.S with type elt = t
module SetLabels : Stdlib.MoreLabels.Set.S with type elt = t and type t = Set.t
module Map : Stdlib.Map.S with type key = t
module MapLabels : Stdlib.MoreLabels.Map.S with type key = t and type 'a t = 'a Map.t