# Module type Hashtbl.HashedType

    module type HashedType = sig .. end

The input signature of the functor `Hashtbl.Make`.

    type t

The type of the hashtable keys.

    val equal : t -> t -> bool

The equality predicate used to compare keys.

    val 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, (`(fun x y -> compare x y = 0)`, `Hashtbl.hash`) for comparing objects by structure and handling `nan` correctly, and (`(==)`, `Hashtbl.hash`) for comparing objects by addresses (e.g. for cyclic keys).