Haskell library for manipulating a generic AST implementing common paredit functions