> This is why unsafePerformIO is unsafe: it’s completely foreign to the programming model
Maybe, although it is also not type safe because Haskell doesn't have a value restriction for polymorphism. (or looked at another way Haskell's value restriction assumes that function application is a value).