Qual é a diferença entre unsafeDupablePerformIO e accursedUnutterablePerformIO?
Eu estava vagando na Seção Restrita da Biblioteca Haskell e encontrei esses dois feitiços vis: {- System.IO.Unsafe -} unsafeDupablePerformIO :: IO a -> a unsafeDupablePerformIO (IO m) = case runRW# m of (# _, a #) -> a {- Data.ByteString.Internal -} accursedUnutterablePerformIO :: IO a...