Number do(
    set("+=", method(other,
        attr = call message previous name
        call sender set(attr, self + other)
    ))

    set("-=", method(other,
        attr = call message previous name
        call sender set(attr, self - other)
    ))

    set("*=", method(other,
        attr = call message previous name
        call sender set(attr, self * other)
    ))

    set("/=", method(other,
        attr = call message previous name
        call sender set(attr, self / other)
    ))

    set("<<", method(other, self * (2 ** other)))
    set(">>", method(other, self / (2 ** other)))

    set("..", method(other, Range clone(self, other)))
)
