Why is accursedUnutterablePerformIO (aka inlinePerformIO) implemented
accursedUnutterablePerformIO :: IO a -> a
accursedUnutterablePerformIO (IO a) = case a realWorld# of (# _, r #) -> r
and not
accursedUnutterablePerformIO :: IO a -> a
accursedUnutterablePerformIO (IO a) = case a realWorld# of (# s, r #) -> s `seq` r
?
Simply put,
realWorld#doesn't exist runtime, therefore we can't do any computation on it, thusseqdoesn't do anything either.