Make eval_without_macroexpand use AST nodes