consIORef :: IORef [a] -> a -> IO ()
consIORef var x = do
  atomicModifyIORef' var (\xs -> (x:xs,()))
consIORef :: IORef [a] -> a -> IO ()
consIORef var x = do
  atomicModifyIORef' var (\xs -> (x:xs,()))
consIORef var x = do
  atomicModifyIORef' var (\xs -> (x:xs,()))