proc p -> do ... (result, final_state) <- (|runState cmd|) init_state
>>> import System.Random.Stateful >>> let pureGen = mkStdGen 137 >>> runStateGen pureGen randomM :: (Int, StdGen) (7879794327570578227,StdGen {unStdGen = SMGen 11285859549637045894 7641485672361121627})
>>> import System.Random.Stateful >>> let pureGen = mkStdGen 137 >>> runStateGenT pureGen randomM :: IO (Int, StdGen) (7879794327570578227,StdGen {unStdGen = SMGen 11285859549637045894 7641485672361121627})
>>> import System.Random.Stateful >>> let pureGen = mkStdGen 137 >>> runStateGenT_ pureGen randomM :: IO Int 7879794327570578227