Core_kernel.Unique_idFunctors for creating modules that mint unique identifiers.
module type Id = sig ... endmodule Int () : Id with type t = private Base.Int.tAn abstract unique identifier based on ordinary OCaml integers. Be careful, this may easily overflow on 32-bit platforms! Int63 is a safer choice for portability.