module type HashedType :
sig ... end
The input signature of the functor
t is the type of keys.
equal is the equality predicate used to compare keys.
hash is a hashing function on keys, returning a non-negative
integer. It must be such that if two keys are equal according
equal, then they must have identical hash values as computed
Examples: suitable (
hash) pairs for arbitrary key
Hashtbl.hash) for comparing objects by structure, and
Hashtbl.hash) for comparing objects by addresses
(e.g. for mutable or cyclic keys).