úÎŒþ   Safe   Safe<=HA typeclass for mutable references that have an atomic modify operation.Type variables:ref - The reference (e.g. , , , )m9 - The monad in which the modification takes place (e.g. , )šAs the name "atomic" implies, these functions are useful for using mutable references in a safe way to prevent race conditions in a multithreaded program.$Atomically modify the contents of a ref (type a) and produce a value (type b5). This is strict; it forces the value stored in the ref as well as the value returned.$Atomically modify the contents of a ref (type a) and produce a value (type b3). This is lazy, which means if the program calls c many times, but seldomly uses the value, thunks will pile up in memory resulting in a space leak.$Atomically modify the contents of a ref5. This is strict; it forces the value stored in the ref as well as the value returned.$Atomically modify the contents of a ref (type a) and produce a value (type b3). This is lazy, which means if the program calls c many times, but seldomly uses the value, thunks will pile up in memory resulting in a space leak.          !"#$%&'(),atomic-modify-0.1.0.0-Ebl7qA3DmxZ58KN6dxCa6FControl.Concurrent.AtomicModifyPaths_atomic_modify AtomicModifyatomicModifyStrictatomicModifyLazyatomicModifyStrict_atomicModifyLazy_$fAtomicModifyTMVarIO$fAtomicModifyTVarIO$fAtomicModifyTMVarSTM$fAtomicModifyTVarSTM$fAtomicModifyMVarIO$fAtomicModifyIORefIOcatchIOversionbindirlibdirdatadir libexecdir sysconfdir getBinDir getLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNamebase GHC.IORefIORef GHC.Conc.SyncTVarGHC.MVarMVar"stm-2.4.4.1-4z2NRWnB0NIIUvSJsHW0kFControl.Concurrent.STM.TMVarTMVarghc-prim GHC.TypesIOSTM