You don't avoid mutable state by doing "model.count += 1" in a separate update() function rather than a method on the model.
Both are functions that operate on the same data; the OO syntax is just a convenience that was invented exactly for the reason of avoiding endless switch statements in dispatching actions on a particular piece of data.