type 'a t = {hash : 'a -> int;compare : 'a -> 'a -> int;sexp_of_t : 'a -> Sexp.t;
}val equal : 'a t -> 'a t -> boolval of_key : (module Key with type t = 'a) -> 'a tval to_key : 'a t -> (module Key with type t = 'a)val hash_param : int -> int -> 'a -> int