Template Haskell functions to easily create exception hierarchies