title: Can typescript's Int8ArrayConstructor type definition be simplified
body: <p>I'm checking the following type definition in typescript core <a href="https://github.com/microsoft/TypeScript/blob/v4.0.5/lib/lib.es5.d.ts#L1966-L1970" rel="nofollow noreferrer">https://github.com/microsoft/TypeScript/blob/v4.0.5/lib/lib.es5.d.ts#L1966-L1970</a></p>
  <p>Can this be simplified to:</p>
  <pre><code>interface Int8ArrayConstructor {
      readonly prototype: Int8Array;
      new(length: number): Int8Array;
      new(array: ArrayLike&lt;number&gt; /*| ArrayBufferLike */): Int8Array;
      new(buffer: ArrayBufferLike, byteOffset?: number, length?: number): Int8Array;
  </code></pre>
  <p>that is, from the second <code>new</code> line the <code>ArrayBufferLike</code> type can be deleted, right?</p>
  <p>Moreover, if <code>new Int8Array(xyz)</code> is called with an <code>ArrayBufferLike</code> as an argument, into which of the above declaration lines will that be resolved?</p>