If you take this example:
viewModel.dirtyFlag().isDirty();
viewModel.dirtyFlag is a function which creates computed that hashes the model. So each and every single time when you do that viewModel.dirtyFlag().isDirty(); a new computed is created. So after 10 times editing a field you already have 11 computeds doing the hashing. This is a gigantic performance kill.