title: Object.entries() and Object.values() are not typed as arrays in WebStorm/PhpStorm
body: <p>I have TypeScript project with ES6 target, it uses <code>core-js</code> to polyfill ES2017 features and tsconfig.json is configured accordingly.</p>
  
  <p>When <code>Object.entries(...)</code> and <code>Object.values(...)</code> are used, the results don't have array methods and properties (<code>map</code>, <code>forEach</code>, <code>length</code>, etc), they appear as plain objects to IDE, so <code>any[]</code> type should be casted explicitly:</p>
  
  <p><a href="https://i.stack.imgur.com/OCybX.png" rel="noreferrer"><img src="https://i.stack.imgur.com/OCybX.png" alt=""></a></p>
  
  <p>While <code>Object.keys(...)</code> behaves like it should.</p>
  
  <p>At the same time IDE somehow 'knows' about the proper types for <code>Object.entries</code> and <code>Object.values</code>, they are shown in accordance with TypeScript's <code>lib.es2017.object.d.ts</code> on Ctrl+Shift+P. But it seems to ignore the types for inspection, because overriding <code>ObjectConstructor</code> in current file solves the problem:</p>
  
  <pre><code>interface ObjectConstructor {
      values(o: any): any[];
      entries(o: any): [string, any][];
  }
  </code></pre>
  
  <p><code>tsc</code> seems to be fine with the typings, so it looks like IDE-specific problem.</p>
  
  <p><strong>This happens only when <code>Use TypeScript service</code> in <code>Languages &amp; Frameworks &gt; TypeScript</code> is unchecked.</strong> Everything wents normal when TypeScript service is enabled (it is disabled intentionally because there were problems with TS service before).</p>
  
  <p>Here is tsconfig.json:</p>
  
  <pre><code>{
    "compilerOptions": {
      "target": "es6",
      "module": "commonjs",
      "moduleResolution": "node",
      "allowSyntheticDefaultImports": true,
      "alwaysStrict": true,
      "strictNullChecks": false,
      "baseUrl": "./src",
      "paths": [],
      "lib": [
        "es2016",
        "es2017.object"
      ]
    },
    "exclude": [
      "node_modules"
    ]
  }
  </code></pre>
  
  <p>What does this mean? Did my setup go wrong somewhere?</p>
  
  <p>The problem persists with TypeScript 2.1.5 and latest IDE (EAP 2017.1).</p>