ascending is identical to compare. descending x y = ascending y x. These are
intended to be mnemonic when used like List.sort ~cmp:ascending and List.sort
~cmp:descending, since they cause the list to be sorted in ascending or descending
order, respectively.
unchecked_value t is like value_exn t, except its return value is only defined
if is_some t. This avoids an extra branch if it is known that is_some t.
unchecked_value t is like value_exn t, except its return value is only defined
if is_some t. This avoids an extra branch if it is known that is_some t.