This function gets called by various mapping operations when the
object is used as index in a mapping. It should return an
integer that corresponds to the object in such a way that all
values which lfun::`== considers equal to the object gets the
same hash value.
Note
The function hash does not return hash values that
are compatible with this one.
Note
It's assumed that this function is side-effect free.