Tubes
type Tube a b
data TubeF a b k
type Source b m r
type Sink a m r
run
await
yield
each
for
(~>)
(>-)
(><)
(|>)
(-<)
liftT
cat
map
drop
take
takeWhile
filter
reduce
every
unyield
prompt
mapM
sequence
display
type Pump a b
data PumpF a b k
mkPump
send
recv
pump
pumpM
meta
enumerator
enumerate
lift
runFreeT