Replace infix function invocations with unique AST objects
Folding and rewriting of ASTs
Add rewriter for naming pattern elements
Add rewriter for normalizing match predicates