This question follows: Why does Closure compiler rename properties of an extern type? John\'s answer to that question brings up this second question.
If I declare t
The Closure Compiler can rename based on types: https://github.com/google/closure-compiler/wiki/Type-Based-Property-Renaming This enhances other optimizations such as inlining and dead code removal as well. This is used internally to Google but comes with a cost as it can introduce some hard debug scenarios if you "lie" in your type declarations.