5. (very minor) For mapping-split, I don't think I understand the
motivation for returning five values (< <= = >= >) instead of
just three (< = >). I see the connection of the 5 values with
the earlier 5 procedures, but the argument in favor of only 3 is
that those three will be disjoint (and if the <= and >= ones are
needed, then mapping-union can be conveniently used).