Base.IdentifiableA signature combining functionality that is commonly used for types that are intended to act as names or identifiers.
Modules that satisfy Identifiable can be printed and parsed (both through string and s-expression converters) and can be used in hash-based and comparison-based containers (e.g., hashtables and maps).
This module also provides functors for conveniently constructing identifiable modules.
module type S = sig ... endUsed for making an Identifiable module. Here's an example.
module Make_using_comparator (M : sig ... end) : S with type t := M.t with type comparator_witness := M.comparator_witness