AST refactor.