The pass actually modifies the identifiers in the way that different
identifier (with respect to span hygiene) becomes different identifier.
This document exists For curious people and potential contributors.
hygiene consists of three phases.
At second phase, we analyzes the file and determine identifiers to rename.
Note that we store scoping information for each node, using the fact that
[SyntaxContext] of all
scope nodes are unique, thanks to the first phase.
At third phase, we rename all identifiers in the queue.