Because __iadd__ automatically delegates to __add__. For immutable objects that's the best you can do, so there's no reason to write both.