- Computation type: Computations which maintain state. - Binding strategy: Binding threads a state parameter through the sequence of bound functions so that the same state value is never used twice, giving the illusion of in-place update. - Useful for: Building computations from sequences of operations that require a shared state. https://wiki.haskell.org/All_About_Monads#The_State_monad
How the `State` monad’s bind operation threads the state parameter through the sequence of functions
MonadState functions (`get` and `put`)