sig
  val compare : T.t -> T.t -> int
  val ( > ) : T.t -> T.t -> bool
  val ( < ) : T.t -> T.t -> bool
  val ( >= ) : T.t -> T.t -> bool
  val ( <= ) : T.t -> T.t -> bool
  val ( = ) : T.t -> T.t -> bool
  val ( <> ) : T.t -> T.t -> bool
  val equal : T.t -> T.t -> bool
  val min : T.t -> T.t -> T.t
  val max : T.t -> T.t -> T.t
end