Parslet::Transform
a transformer takes a parsed, valid AST and applies rules, usually in a context free manner