Provides queues can be used both as a first-in last-out (FILO) and
as a first-in first-out (FIFO) stack, i.e. elements can be added to
the front or back of the queue, and can be removed from the
front. (This type of data structure is sometimes called an
"output-restricted deque".)