The difference between a |= b and a = a | b is exactly the same as the difference between a += b and a = a + b. Nothing new about that, try:
a = [1]
b = a
b += [2]
b.append(3)
b = b + [4]
b.append(5)
print(a)
or see: https://fosstodon.org/@bterwijn/116328991093782469
For immutable types there is no difference between a += b and a = a + b, try with a tuple.
