title: Constructor overload with spread operator Typescript
body: <p>I am trying to overload my constructor for TypeScript Class</p>
  
  <pre><code>constructor(a: T[])
  constructor(...a: T[]) {
      a.forEach(e =&gt; {
          //do something with e
      });
  }
  </code></pre>
  
  <p>Why does the compiler complain about the above? And any ideas how to fix it?</p>