sig
  val equal : string -> string -> bool
  val compare : string -> string -> int
  type version_analysis =
      Native of string * string * string
    | NonNative of string * string * string * string
  val decompose : string -> Version.version_analysis
  val compose : Version.version_analysis -> string
  val strip_epoch_binnmu : string -> string
  val split : string -> string * string * string * string
  val concat : string * string * string * string -> string
  val normalize : string -> string
end