module type HashedType = sig .. end
type t
The type of the elements.
val equal : t -> t -> bool
The equality predicate used to compare elements.
val to_string : t -> string
val hash : t -> int
A hashing function on elements. It must be such that if two elements are
equal according to equal, then they have identical hash values
as computed by hash.
Examples: suitable (equal, hash) pairs for arbitrary element
types include
((=), Hashset.hash) for comparing objects by structure, and
((==), Hashset.hash) for comparing objects by addresses
(e.g. for mutable or cyclic keys).