type 'a t
=
{
hash : 'a ‑> int;
compare : 'a ‑> 'a ‑> int;
sexp_of_t : 'a ‑> Base.Sexp.t;
}
val hash_param : int ‑> int ‑> 'a ‑> int
val hash : 'a ‑> int
val poly : 'a t
val of_key : (module Key_plain with type t = 'a) ‑> 'a t