A hashing function on keys. It must be such that if two keys are
equal according to equal, then they have identical hash values
as computed by hash.
Examples: suitable (equal, hash) pairs for arbitrary key
types include

((=), Hashtbl.hash) for comparing objects by structure
(provided objects do not contain floats)