Control.Reactive.Chan

data Chan a

newChan

dupChan

readChan

tryReadChan

writeChan