sig type t val compare : t -> t -> int val string_of : t -> string end