It’s like what you’re saying although it’s tied into Vue’s underworking getters and setters. If Vue 2 is natively using immutable then this store would too, but I don’t think it is. Vue relies on making placeholder data upfront and then creating getters and setters on those placeholders. So when you change a value it can use the setter to change other relevant values. As such only the values being changed are evaluated and nothing else. For that reason Vue doesn’t need immutable like React because React is comparing the whole object. The previous and current state.
I’m amazed by Vue’s reactivity system, in my opinion it seems to be the best system with our current technology.