*-m-n is more reasonable now (less than the upper bound) but incompatible with scheme->c