haskell-enclosed-exceptions