let reversep cmp a b = Option.map ~f:(~-) (cmp a b)