[CLJS-2928] Externs inference: Consider inheritance Created: 07/Oct/18 Updated: 07/Oct/18
If you add -O advanced you can confirm that documentElement survives into the compiled artifact without being mangled.
Also, you can work around the issue by hinting the target as being the base type:
Perhaps there is some way to make use of the "extends" metadata in the externs in cases like these to check base types before emitting a warning (or by inferring the base type based on the property being accessed). Here is the extends metadata of interest in the example above: https://github.com/google/closure-compiler/blob/50713dceb16b369f8f317e5b49e8a9dec2b47496/externs/browser/w3c_dom2.js#L171