Abstract, parameterized interface to mutable Deques
Description
An abstract interface to highly-parameterizable queues/deques.
Background: There exists a feature space for queues that extends between:
* simple, single-ended, non-concurrent, bounded queues
* double-ended, threadsafe, growable queues
... with important points inbetween (such as the queues used for
work-stealing).
This package includes an interface for Deques that allows the programmer to use
a single API for all of the above, while using the type-system to select an
efficient implementation given the requirements (using type families).
This package also includes a simple reference implementation based on 'IORef'
and "Data.Sequence".