I'm not convinced it's a bug - the language enforces that assignment returns `self`, and I don't see a compelling argument why it should be otherwise. (Compelling enough to change existing behaviour, that is)