unsafePerformIO :: IO a -> a on the other hand does make haskell impure when it is used. And it is used in many libraries.
Hmm, does it really? Is 'unsafePerformIO (return 1)' impure?
Citation needed - or at least clarification as to what "many" means here.
unsafePerformIO :: IO a -> a on the other hand does make haskell impure when it is used. And it is used in many libraries.