The Unique
module provides globally unique identifiers.
It is a functor parametrized by the empty Nothing
module. This
allows to have different Unique
identifiers, that have different
types.
module type Nothing = sig end
module Make(S : Nothing):
sig
type t
val fresh : unit → t
val equal: t → t → bool
end