Because it +=is simply a shorthand for full expression.
If this was the message itself, then adding operator behavior for the class would require defining an assignment operator for each of the shortened combinations, in addition to the already probably necessary operators for simple assignment and each binary operator.
It is hard to imagine what would have happened for all this extra work, so Ruby treats the combined assignment operators simply as a shorthand for the full expression.
source
share