úÎ  CMichael-Scott queue.BSD36Julian Sutherland (julian.sutherland10@imperial.ac.uk)None;`Implementation of Michael-Scott Lock-Free queues. Specification and pseudo-code can be found at  :http://www.research.ibm.com/people/m/michael/podc-1996.pdf . Works with any combination of  and reference satsfying the MonadAtomicRef class. inside the  . inside the  .Creates a new instance of v. Internally implemented with a reference of type r, which is why they must be atomically modifiable. Initially empty.Dequeues an element from a i in a lock-free manner. Returns Nothing if the queue is empty, otherwise return the element wrapped in a  .Enqueues an element in a  in a lock-free manner.           MSQueue-0.0.1!Data.NonBlocking.LockFree.MSQueueMSQueue MSQueueSTM MSQueueIO newMSQueuedequeueMSQueueenqueueMSQueuebaseGHC.BaseMonad GHC.Conc.SyncSTMghc-prim GHC.TypesIO Data.MaybeJust MSQueueElemcasRefptrEq$fEqMSQueueElem