úÎw     BIt would be nice to use an associated type family with this class @ (for casref), but that would preclude overlapping instances. 'The type of references supporting CAS.    LEXAMPLE SPECIALIZATION: a more efficient implementation for simple scalars. OBoilerplate TODO: We Should have one of these for all word-sized Scalar types.      :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 . The  containing a value current The old value to compare The new value to replace current if old == current :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 . The  containing a value current The old value to compare The new value to replace current if old == current 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 E that this is STRICTer 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.             IORefCAS-0.0.1.2Data.CAS.Internal.ClassData.CAS.Internal.FakeData.CAS.Internal.ForeignData.CASCASable newCASable readCASable writeCASablecas unsafeNameptrEqCASRefcasIORefatomicModifyIORefCASatomicModifyIORefCAS_casSTRefCRunCRHsklFrgn$fCASableCASRefWord32base GHC.STRefSTRefghc-prim GHC.TypesBoolTrue GHC.IORefIORef