The "dequeue" method removes a reference from the head of the queue,
dereferences it and returns the resulting values. If the queue is
currently empty, "dequeue" will block the thread until another thread
"enqueue"s.
If I enqueue() a scalar I expect to dequeue() a scalar and not a list.