sig   type s = string   type t   val version_compare : OASISVersion.t -> OASISVersion.t -> int   val version_compare_string : string -> string -> int   val version_of_string : string -> OASISVersion.t   val string_of_version : OASISVersion.t -> string   val value : OASISVersion.t OASISValues.t   val odn_of_t : OASISVersion.t -> ODN.t   val chop : OASISVersion.t -> OASISVersion.t   type comparator =       VGreater of OASISVersion.t     | VGreaterEqual of OASISVersion.t     | VEqual of OASISVersion.t     | VLesser of OASISVersion.t     | VLesserEqual of OASISVersion.t     | VOr of OASISVersion.comparator * OASISVersion.comparator     | VAnd of OASISVersion.comparator * OASISVersion.comparator   val comparator_apply : OASISVersion.t -> OASISVersion.comparator -> bool   val string_of_comparator : OASISVersion.comparator -> string   val varname_of_comparator : OASISVersion.comparator -> string   val comparator_ge : OASISVersion.t -> OASISVersion.comparator -> bool   val comparator_of_string : string -> OASISVersion.comparator   val comparator_reduce : OASISVersion.comparator -> OASISVersion.comparator   val comparator_value : OASISVersion.comparator OASISValues.t   val odn_of_comparator : OASISVersion.comparator -> ODN.t end