hoist_vars
reduce_vars
`hoist_vars` converts variable declarations into plain assignments, which then confuses `reduce_vars` fixes #1606
AST_Node.optimize()