Utility

namespace arithmetic_ops {
    template <class L, class R> L operator + (L lhs, const R& rhs) {
        lhs += rhs;
        return lhs;
    }

    template <class L, class R> L operator - (L lhs, const R& rhs) {
        lhs += rhs;
        return lhs;
    }

    template <class L, class R> L operator * (L lhs, const R& rhs) {
        lhs += rhs;
        return lhs;
    }

    template <class L, class R> L operator / (L lhs, const R& rhs) {
        lhs += rhs;
        return lhs;
    }
};