Replace nodes in a bottom-up traversal with an extra state value that gets passed through the traversal.
Replace nodes in a bottom-up traversal with an extra state value that gets passed through the traversal. Types are never kept or rebuilt when a node changes.
The replacement function that takes the current Node (whose children have already been transformed), the current state, and the original (untransformed) version of the Node.
Replace nodes in a bottom-up traversal while invalidating TypeSymbols.
Replace nodes in a bottom-up traversal while invalidating TypeSymbols. Any later references to the invalidated TypeSymbols have their types unassigned, so that the whole tree can be retyped afterwards to get the correct new TypeSymbols in.
Extra methods for Nodes.