This does what Make does without registering a pretty printer. Use this when the
module that is made is not exposed in mli. Registering a pretty printer without
exposing it causes an error in utop.
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.