为什么 `accursedUnutterablePerformIO` 中没有 `seq`?

Why no `seq` in `accursedUnutterablePerformIO`?

为什么要实施 accursedUnutterablePerformIO(又名 inlinePerformIO

accursedUnutterablePerformIO :: IO a -> a
accursedUnutterablePerformIO (IO a) = case a realWorld# of (# _, r #) -> r

而不是

accursedUnutterablePerformIO :: IO a -> a
accursedUnutterablePerformIO (IO a) = case a realWorld# of (# s, r #) -> s `seq` r

?

简单地说,realWorld# doesn't exist runtime,因此我们无法对其进行任何计算,因此seq也不会做任何事情。