Tubes.Core
type Tube a b
data TubeF a b k
await
yield
halt
(>-)
(><)
liftT
diverge
awaitF
yieldF
type Pump b a
data PumpF b a k
pumpT
send
recv
stream
streamM
runTube
runFreeT