Ask how the runtime finds the thing. If it follows a reference, a rename follows with it. If it looks the thing up by spelling, the rename is a different spelling.
StructuralScope, closures, prototypes, iteration protocol. Renamed consistently, so behaviour is preserved.
TextualFunction.name, reflected keys, capture group names, Symbol.for keys. The spelling is the value.
NeitherRegular expression bodies and string contents are not obfuscated by renaming at all.