[..] You're generally doing something wrongif your type defines += and not + anyway, so I really don't see the problemhere.
Okay, I suppose you're right. But that still leaves the possible performance overhead with s.prop = (s.prop + 3). For example, if prop is an array of values, there's no point in making a copy of it, when you could more effectively just add 3 to each element of the array.
