&gt; What would the rationale be for such a rule?<p>Because __iadd__ automatically delegates to __add__. For immutable objects that&#x27;s the best you can do, so there&#x27;s no reason to write both.