TypeScript types were invisible
Babel's scope resolution only tracks value references. So import type { Variants } showed up as an import and then vanished — every line that actually used the type was invisible to the scanner. On a TypeScript codebase that is not a small gap: a changed type signature breaks your build just as hard as a renamed function. It took a third resolution pass, walking TS type positions separately and resolving each one back to its binding, before those lines showed up at all. A fixture test caught it before it shipped.