Ensure that all symbol definitions in a tree are unique. The same symbol can initially occur in
multiple sub-trees when some part of a query is reused multiple times. This phase assigns new,
uniqe symbols, so that later phases do not have to take scopes into account for identifying the
source of a symbol. The rewriting is performed for both, term symbols and type symbols.
The phase state is a collection of flags depending on the presence or absence of certain node
types in the AST. This information can be used to selectively skip later compiler phases when
it is already known that there is nothing for them to translate.
The immutable state of the phase that can also be accessed by other phases.
Run the phase
The unique name of the phase