This library provides a quick-and-dirty (but often effective)
method for extending Haskell's syntax using a custom
preprocessor. It parses Haskell into a bare-bones AST with just
enough knowledge of the syntax to preserve nesting, and then
allows transformations on the AST.