When I compile codes which contains some `Object.defineProperty` calls whose return value are not used, closure compiler does not remove the call entirely, although `Object.defineProperty` is annotated with `@nosideeffect` in `es3.js`.
Here is a repro:
```
let a = Object.getOwnPropertyDescriptor;
let b = Object.getOwnPropertyDescriptor(Object.prototype, 'hasOwnProperty');
let c = a(Object.prototype,'__proto__').get;
```
output:
```
'use strict';
var a = Object.getOwnPropertyDescriptor;
Object.getOwnPropertyDescriptor(Object.prototype, "hasOwnProperty");
a(Object.prototype, "__proto__");
```
Is this an expected result? Is there something that I can tweak to let Closure Compiler to remove those calls?