Module type Hashable.S

module type S = sig .. end

type t 
module Hashable: T  with type t = t
val hash : t -> int
val compare : t -> t -> int
val hashable : t Hashable.Hashtbl.Hashable.t
module Table: Hashable.Hashtbl.S  with type key   = t
module Hash_set: Hash_set.S  with type elt   = t
module Hash_queue: Hash_queue.S  with type Key.t = t
module Hash_heap: Hash_heap.S  with type Key.t = t