module Uid : sig ... endEvery
Id.tcontains a unique id that is distinct from theUid.tin any otherId.t.
val uid : _ t -> Uid.tval create : name:string -> ('a -> Sexp.t) -> 'a tcreate ~namedefines a new type identity. Two calls tocreatewill result in two distinct identifiers, even for the same arguments with the same type. If the type'adoesn't support sexp conversion, then a good practice is to have the converter be[%sexp_of: _], (orsexp_of_opaque, if not using ppx_sexp_conv).
val hash : _ t -> intval name : _ t -> stringval to_sexp : 'a t -> 'a -> Sexp.tval hash_fold_t : Hash.state -> _ t -> Hash.state