úÎ g œNoneOThis only checks that the node type is the same and in the case of a Cons Pair " checks that the underlying MutVar#,s are pointer-equal. This suffices to check B equality since each IORef is never used in multiple Pair values. @Push a new element onto the queue. Because the queue can grow,  this always succeeds. >Attempt to pop an element from the queue if one is available. C tryPop will return semi-promptly (depending on contention), but  will return  if the queue is empty. Create a new queue. QIs the queue currently empty? Beware that this can be a highly transient state.       None    lockfree-queue-0.2.0.1"Data.Concurrent.Queue.MichaelScott0Data.Concurrent.Queue.MichaelScott.DequeInstance LinkedQueuepushLtryPopRnewQnullQpairEqbase Data.MaybeNothingPairConsNullLQheadtailcheckInvariant$fDequeClassLinkedQueue