core :: Numeric :: +
self
i
# Addition of `self` with `i` fun +(i: OTHER): OTHER is abstract
redef fun +(i) is intern
# assert("3/2".to_r + "5/2".to_r == 4.to_r) redef fun +(r) do var res = new NativeMPQ val.add(res, r.val) return new Ratio(res) end
# assert(2.to_bi + 2.to_bi == 4.to_bi) redef fun +(i) do var res = new NativeMPZ val.add(res, i.val) return new BigInt(res) end