State monad finally is crystal clear