module type OrderedType = Set.OrderedType;
type t;
let compare: (t, t) => int;
f 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.