úάF   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 b2). This is lazy, which means if the program calls f many times, but seldomly uses the value, thunks will pile up in memory resulting in a space leak.$Atomically modify the contents of a ref4. 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 b2). This is lazy, which means if the program calls b many times, but seldomly uses the value, thunks will pile up in memory resulting in a space leak.Safe      !"#$,atomic-modify-0.1.0.1-9N8PGYhRvey57Py5Cmdn2bControl.Concurrent.AtomicModifyPaths_atomic_modify AtomicModifyatomicModifyStrictatomicModifyLazyatomicModifyStrict_atomicModifyLazy_$fAtomicModifyTMVarIO$fAtomicModifyTVarIO$fAtomicModifyTMVarSTM$fAtomicModifyTVarSTM$fAtomicModifyMVarIO$fAtomicModifyIORefIObase GHC.IORefIORef GHC.Conc.SyncTVarGHC.MVarMVar"stm-2.4.4.1-6AExGOUG8NB2Rzejnay0wwControl.Concurrent.STM.TMVarTMVarghc-prim GHC.TypesIOSTMversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName