Ordering is intended to make code that matches on the result of a comparison more concise and easier to read. For example, one would write:
      match Ordering.of_int (compare x y) with
      | Less -> ...
      | Equal -> ...
      | Greater -> ...

rather than:

      let r = compare x y in
      if r < 0 then
        ...
      else if r = 0 then
        ...
      else
        ...
type t = 
|Less
|Equal
|Greater
val of_int : int -> t
of_int n is:
      Less     if n < 0
      Equal    if n = 0
      Greater  if n > 0
module Export : sig .. end
type _ordering = t = 
|Less
|Equal
|Greater
val t_of_sexp : Sexplib.Sexp.t -> t
val sexp_of_t : t -> Sexplib.Sexp.t
val compare : t -> t -> int
val bin_t : t Bin_prot.Type_class.t
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_writer_t : t Bin_prot.Type_class.writer