Massive AST rewrite changes, grammar modifications, predicate use (#38)