[Haskell-cafe] atomicity and visibility of readIORef / writeIORef