------------------------------------------------------------------------
-- Imports
-import Control.Concurrent.MVar (MVar, modifyMVar, modifyMVar_, newMVar,
- readMVar)
+import Control.Concurrent.MVar (MVar, modifyMVar, newMVar, readMVar)
import Control.Exception (finally)
import Control.Monad ((=<<), forM_, liftM, sequence_, when)
import Data.IORef (IORef, atomicModifyIORef, mkWeakIORef, newIORef, readIORef,