avoid unnecessary shallow copies. The change rippled through a lot of code.
So it can try to predict the effect its bindings will have.