The idea is that we pass the struct state deep into the stack when updating (other ops) on Map
We may get the result back using this stack, like the old value, some calculated value, etc.
Encourage the passing state, by enabling more scenarios where you can pass it, and avoid memory allocation and performance hit introducing closure in delegate.
Have the fewer overloads because passing the struct parameter by ref enables to combine multiple state items into one without hurting performance.
Pros: