  {-
  liftIO (modifyIORef' ref (\(w',s) -> ( trace ("\nwtell " ++ show w' ++ " " ++ show w)
                                         w'<>w
                                       , s)))
  -}
  (w', s)    <- readIORef ref
  writeIORef ref (w' <> w, s)
  return ((), x)
{-# INLINE tell #-}
