RCP<const Number> Number::sub(const Number &other) const { return add(*other.mul(*integer(-1))); }
RCP<const Number> Number::rdiv(const Number &other) const { return other.mul(*pow(*integer(-1))); }