This package offers a collection of channel types, similar to Control.Concurrent.STM.{TChan,TQueue} but with additional features. In particular we offer the following data types: Control.Concurrent.STM.TBChan: Bounded FIFO channels. When the channel is full, writers will block/retry. This ensures that the writers do not get too far ahead of the readers, which helps to make sure that memory and cpu resources are used responsibly. Control.Concurrent.STM.TMChan: Closeable FIFO channels. Control.Concurrent.STM.TMQueue: Closeable FIFO queues. Like TChan (Maybe a) but with a monotonicity guarantee that once Nothing is returned all future reads will be Nothing as well. Control.Concurrent.STM.TBMChan: Bounded Closeable FIFO channels. Control.Concurrent.STM.TBMQueue: Bounded Closeable FIFO queues. Combines the capabilities of TBChan and TMChan.