úÎuv    None:Performs a machine-level compare and swap operation on an   . Returns a tuple containing a   which is  when a # swap is performed, along with the current value from the  . Note "compare"- here means pointer equality in the sense of  . :Performs a machine-level compare and swap operation on an  . Returns a tuple containing a   which is  when a # swap is performed, along with the current value from the . Note "compare"- here means pointer equality in the sense of  . The   containing a value current The old value to compare The new value to replace current if old == current The  containing a value current The old value to compare The new value to replace current if old == current None7The monad type associated with a given reference type. # eg, IO for IORefs, ST for STRefs. W Need to consider if Functional Dependencies will yield better type inference or not.             ref-0.1.1.2 Data.Ref.CASData.RefcasSTRefcasIORefRefRefMnewRefnewRef'readRefreadRef'writeRef writeRef' modifyRef modifyRef'base GHC.STRefSTRefghc-prim GHC.TypesBoolTrueGHC.PrimreallyUnsafePtrEquality# GHC.IORefIORef $fRefSTRef $fRefIORef