How can I redefine the
+= operator ?
x.foo += 5 is in fact syntaxic sugar
to x.foo = x.foo + 5 where
x is evaluated only once.
x.foo = bar corresponds to the call of the foo getter method
x.foo + bar corresponds to the
+() method call on
x, both these behaviors can be redefined by refinment.