When you've caught all the exceptions that can be handled safely, this is what you're left with. It is intended that you use qualified imports with this library. > import UnexceptionalIO (UIO) > import qualified UnexceptionalIO as UIO You may also wish to investigate unexceptionalio-trans if you like monad transformers. Blog post: http://sngpl.ma/p4uT0