title: Observable.forkJoin() TS2322 error after updating to TypeScript 2.4.1 and Rxjs 5.4.2
body: <p>In our angular 4.2.4 application, we use RxJS's <code>Observable.forkJoin</code> in a number of places to return heterogeneous types.</p>
  
  <p>For example:</p>
  
  <pre><code>private fleet: Aircraft[];
  private contractList: string[];
  
  Observable.forkJoin([
    this.fleetService.getFleet(),
    this.fleetService.getContractList()
  ]).subscribe(
    next =&gt; {
      this.fleet = results[0];
      this.contractList = results[1];
    },
    error =&gt; console.error
  );
  </code></pre>
  
  <p>with the following service signatures:</p>
  
  <pre><code>getFleet(): Observable&lt;Aircraft[]&gt; { ... }
  getContractList(): Observable&lt;string[]&gt; { ... }
  </code></pre>
  
  <p><strong>After updating to TypeScript 2.4.1</strong>, <code>tsc</code> now complains with the following errors for <code>this.contractList</code>:</p>
  
  <blockquote>
    <p>ERROR in ./app/fleet/fleetComponent.ts (xx,xx):
    error TS2322: Type 'Aircraft[]' is not assignable to type 'string[]'.</p>
  </blockquote>
  
  <p>But I'm not trying to assign an <code>Aircraft[]</code> to a <code>string[]</code>.</p>
  
  <p>The same is true for <em>all</em> the other <code>Observable.forkJoin</code> we implement: all elements in <code>result[]</code> are treated as though they were the same type as <code>result[0]</code>.</p>
  
  <p>It seems very similar to the problem in <a href="https://stackoverflow.com/questions/44938803/error-with-actions-observable-in-ngrx-effects-using-typescript-2-4-1">Error with Actions observable in @ngrx/effects using TypeScript 2.4.1</a> but adding <code>"noStrictGenericChecks": true,</code> to tsconfig.js' <code>"compilerOptions"</code> did not solve the problem.</p>
  
  <p>Why is this happening? How can I fix this?</p>