Excerpts from Austin Seipp's message of Sun Feb 08 01:45:45 -0600 2009: > ... code ... > > Austin *smacks head* import Data.IORef import System.IO.Unsafe import Control.Monad cast :: a -> b cast x = f where f = unsafePerformIO $ do writeIORef r [x] b <- liftM head $ readIORef r return b r = unsafePerformIO $ newIORef []