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
...
of_int n is:
Less if n < 0
Equal if n = 0
Greater if n > 0
to_int t is:
Less -> -1
Equal -> 0
Greater -> 1
It can be useful when writing a comparison function to allow one to return
Ordering.t values and transform them to ints later.