How do you move data? That Foo object that previously referenced both a Bar and a Baz, but you refactored it so now the Bar, not the Foo, has the reference to the Baz? Or where you changed the type of Baz from Gleep to Glorp?
Erlang, due to how actors encapsulate state, and dynamic typing, allows you to do those things pretty trivially.