úΡù     NoneBIt would be nice to use an associated type family with this class @ (for casref), but that would preclude overlapping instances. 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  . A drop-in replacement for   that D optimistically attempts to compute the new value and CAS it into C place without introducing new thunks or locking anything. Note H that this is more STRICT than its standard counterpart and will only / place evaluated (WHNF) values in the IORef. HA simpler version that modifies the state but does not return anything. 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    None  None 'The type of references supporting CAS.        NoneLEXAMPLE SPECIALIZATION: a more efficient implementation for simple scalars. OBoilerplate TODO: We Should have one of these for all word-sized Scalar types.          !"#$IORefCAS-0.2.0.1Data.CAS.Internal.ClassData.CAS.Internal.NativeData.CAS.Internal.FakeData.CAS.Internal.ForeignData.CASCASable newCASable readCASable writeCASablecas unsafeNameptrEqCASRefcasIORefatomicModifyIORefCASatomicModifyIORefCAS_casSTRefbase GHC.STRefSTRefghc-prim GHC.TypesBoolTrueGHC.PrimreallyUnsafePtrEquality# GHC.IORefIORefCRunCR$fCASableCASRefaatomicModifyIORef_$fCASableCASRefWord32HsklFrgn