`AST_Node.optimize()` is context-aware, so don't cache its results to be used elsewhere.
do{...}while(false)
AST_Node.optimize()