More example on standard functions needing the *mode*:
in quotRem, quot, rem,
divMod, div, mod.
the latter triplet is unnecessary, if the first has the mode
argument.
And we can hardly invent the mode type better than Char,
because any specially introduced mode types bring the long names.
quotRem 'n' x (-3) looks better than the pair quotRem & divMod,
and
quotRem QuotRemSuchAndSuch x (-3)
looks worse than quotRem & divMod.
Only do not say the mode will slow down anything.
This is mostly a trivial matter of the compiler in-lining
rem 'p' --> some_internal_function,
rem 'n' --> other_internal_function.
If the compiler does not inline it, then the additional step does
not matter.
------------------
Sergey Mechveliani
[EMAIL PROTECTED]