QueueResult — the popped item, or a QueueError payload with
QueueErrorReason.CLOSED if the queue is closed and empty.
QueueResult pop() @trustedPop a work item from the queue, blocking if empty.
QueueResult — the popped item, or a QueueError payload with
QueueErrorReason.CLOSED if the queue is closed and empty.