sig type t val compare : t -> t -> int val hash : t -> int val equal : t -> t -> bool val to_string : t -> string val name_to_string : t -> string val version_to_string : t -> string end