sig type t val compare : t -> t -> int val equal : t -> t -> bool val hash : t -> int end