|Portability||non-portable (requires STM)|
TChan: Transactional channels (GHC only)
TChan is an abstract type representing an unbounded FIFO channel.
TChan: the duplicate channel begins empty, but data written to
either channel from then on will be available from both. Hence this creates
a kind of broadcast channel, where data written by anyone is seen by
Put a data item back onto a channel, where it will be the next item read.