Apa perbedaan antara unformablePerformIO dan accuredUnutterablePerformIO?

Saya berkeliaran di Bagian Terbatas dari Perpustakaan Haskell dan menemukan dua mantra keji ini: {- System.IO.Unsafe -} unsafeDupablePerformIO :: IO a -> a unsafeDupablePerformIO (IO m) = case runRW# m of (# _, a #) -> a {- Data.ByteString.Internal -} accursedUnutterablePerformIO :: IO a...