module Set:Sets over ordered types.sig..end
   This module implements the set data structure, given a total ordering
   function over the set elements. All operations over sets
   are purely applicative (no side-effects).
   The implementation uses balanced binary trees, and is therefore
   reasonably efficient: insertion and membership take time
   logarithmic in the size of the set, for instance.
module type OrderedType =sig..end
Set.Make.
module type S =sig..end
Set.Make.
module Make: