title: Usage of typescript infer does not work for array
body: <p>I have the following typescript code:</p>
  <pre><code>const myObject = {
    foo: ['a', 'b', 'c']
  }
  
  type MyType = typeof myObject.foo extends [...infer Content] ? string : boolean
  </code></pre>
  <p>And MyType results in type <code>string</code> as expected.</p>
  <p>But if I change the code like this:</p>
  <pre><code>...
  
  type MyType = typeof myObject.foo extends [infer First, ...infer Tail] ? string : boolean
  </code></pre>
  <p>MyType now becomes <code>boolean</code>. Why?</p>
  <p>Why does it extend in the first case but not in the latter?</p>