Haskell supports exception hierarchies, but they require quite a bit of
boilerplate to declare. This package leverages Template Haskell to automate
declaration of large exception hierarchies.
This package requires GHC 7.6, as a bug in GHC 7.4 prevents expansion of
Template Haskell splices using 'deriving Typeable'.