Data.Primitive.MVar
data MVar s a
newMVar
isEmptyMVar
newEmptyMVar
putMVar
readMVar
takeMVar
tryPutMVar
tryReadMVar
tryTakeMVar