Why Does `+=` Sometimes Create a New Object and Sometimes Not?
Many people expect `+=` to simply change a variable. But if you inspect the object with `id()`, you'll sometimes discover that it's actually a different object. Why does `+=` create a new object in some cases but not others?

