The immutability of objects in javascript is quite powerful when you want to have multiple versions or different states as well with ease! We use immutable at work where we are solving problems like versioning documents so they can be easily migrated between servers without breaking anything else (since it's just JS). There has been some minor issues but nothing that I feel would make me choose otherwise. It really does solve our problem very effectively though - no more worrying about migrating old docs from one server/db instance back into production since everything stays consistent across all instances now by default!!