Because standard libraries in mainstream languages are name-squatting on 'immutable' pretty hard.
You wanted 2+1 to yield 3, but instead you get a runtime exception telling you that 2 can't be changed.