[Haskell-cafe] More powerful error handling