reduce AST size