**Description:**
- `Pass`: `FnMut(&mut Program)`.
**Breaking Changes:**
- `chain!`: Use a tuple instead. You can replace all `chain!(` with `(` with IDE feature and it will work.
- `chain!` with 13 or more args: Use nested tuples for items after 13th element.
**Related issue:**
- Related to https://github.com/swc-project/swc/issues/9601
- We don't need a list of bindings to check if an identifier is unresolved.
- Checking if an identifier is unresolved is now one CPU instruction.
- Previously it was one hashmap operation.
- This PR also improves performance, by removing the hashmaps mentioned above.