module type OrderedType = sig endSet.Make.type t
val compare : t -> t -> intf such that
f e1 e2 is zero if the elements e1 and e2 are equal,
f e1 e2 is strictly negative if e1 is smaller than e2,
and f e1 e2 is strictly positive if e1 is greater than e2.
Example: a suitable ordering function is
the generic structural comparison function Pervasives.compare.