sig type t exception Bad_key of string val compare : t -> t -> int val of_string : string -> t val to_string : t -> string end