We previously recommended using the safe-exceptions
library for exception
handling. We now recommend moving over to the UnliftIO.Exception
module,
which has its own tutorial.
If you're still interested in the safe-exceptions
library, please see its
README.md.