Should cover:
Throwing exceptions
Catching exceptions
Exceptions in pure code
Difference between
throw
and
throwIO
Async exceptions
Exceptions in continuation based monads
Exceptions and monad transformers
Catching all exceptions
Exceptions problems. Can't wrap. Can't have two exceptions. No idea how exception was thrown.
Wrap exceptions to provide context
General dislike of exceptions
enclosed-exceptions
Examples of code-conversion between all possible error styles
unexceptionalio and errors libraries