GIVEN a set of monads WHEN a developer wants to manage a state THEN `State` Monad [source](https://wiki.haskell.org/All_About_Monads#The_State_monad)
GIVEN a set of monads
WHEN a developer wants to manage a state
THEN
StateMonadsource