Make.H
Hashed values.
This signature defines the interface required for values to be hashconsed.
val hash : elt -> int
Hash function on values. Must be compatible with the equality function, i.e: equality of values imply that hashes are equal.
Set an id to the given value. This id should not be considered by the equality function when comparing values. Should not mutate the given value for the hashconsing to be correct.