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