I've not found immutable data to be the big win people tout it as. In most of what I do acting on stale data is just as bad, which means I wind up needing a lock anyway.
Doing a < b and taking an action based on that result is as harmful with stale data.