title: 'XXX' provides no match for the signature 'new (): XXX'
body: <p>I have the following class, and I am getting this error in the for loop:</p>
  
  <blockquote>
    <p>[ts]
    Argument of type 'Component' is not assignable to parameter of type 'ComponentType'.
      Type 'Component' provides no match for the signature 'new (): Component'</p>
  </blockquote>
  
  <p>This class looks like this:</p>
  
  <pre><code>class Prefab {
  
      public components: Component[] = [];
  
      public static make(object: Prefab): GameObject {
          let go = new GameObject;
          for (let comp of object.components) {
              // The error is here:
              go.addComponent(comp);
          }
          return go;
      }
  
  }
  </code></pre>
  
  <p>I then have this interface for my component class:</p>
  
  <pre><code>interface ComponentType&lt;T extends Component&gt; {
      new (): T;
  }
  </code></pre>
  
  <p>Here is the definition for <code>addComponent</code>:</p>
  
  <pre><code>addComponent&lt;T extends Component&gt;(type: ComponentType&lt;T&gt;): T;
  </code></pre>
  
  <p>What can I do here?</p>