module type HashedType = Hashtbl.HashedType;
type t;
The type of the hashtable keys.
let equal: (t, t) => bool;
The equality predicate used to compare keys.
let hash: t => int;
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)
-         ((fun x y -> compare x y = 0),Hashtbl.hash)
              for comparing objects by structure
              and handlingPervasives.nancorrectly
-         ((==),Hashtbl.hash) for comparing objects by physical
              equality (e.g. for mutable or cyclic objects).