Control.Monad.Push

data Res a

data Push v p a

runPush

runPushU

runPushB

runPushS