title: cannot use forkJoin with redux-observable
body: <p>I'm a little confused trying to get rxjs to play nice here.</p>
  
  <p>I can do single API requests just fine, e.g.</p>
  
  <pre><code>
  const documentFetchEpic: Epic&lt;TRootAction, TRootAction, TRootState&gt; = (action$, store) =&gt;
    action$.pipe(
      filter(isActionOf(documentActions.fetch)),
      withLatestFrom(store),
      switchMap(([action, state]) =&gt;
        merge(
          of(sharedActions.setLoading(true)),
          ApiUtils.documents.fetch(action.payload).pipe(
            mergeMap(response =&gt; [
              sharedActions.setLoading(false),
              documentActions.fetchSuccess({
                name: action.payload,
                data: response,
              }),
            ]),
            catchError(err =&gt; of(sharedActions.setError(err), sharedActions.setLoading(false)))
          )
        )
      )
    );
  </code></pre>
  
  <p>works as expected.</p>
  
  <p>The issue is when I try fetch multiple items at a time via <code>forkJoin</code>. I'm not quite sure what to make of this.</p>
  
  <pre><code>const DocumentTypes = ['a', 'b', 'c'];
  
  const fetchAll = () =&gt;
      forkJoin&lt;{ name: TDocumentTypes; data: DocumentRes }&gt;(
        ...DocumentTypes.map(documentType =&gt;
          ApiUtils.documents.fetch(documentType).pipe(map(response =&gt; ({ name: documentType, data: response.data })))
        )
      )
  
  const documentFetchAllEpic: Epic&lt;TApiActions, TApiActions, TApiState&gt; = (action$, store) =&gt;
    action$.pipe(
      filter(isActionOf(documentActions.fetchAll)),
      withLatestFrom(store),
      switchMap(([action, state]) =&gt;
        merge(
          of(sharedActions.setLoading(true)),
          fetchAll().pipe(
            mergeMap(responses =&gt; [
              sharedActions.setLoading(false),
              responses.map(response =&gt; {
                documentActions.fetchSuccess({
                  name: response.name,
                  data: response.data,
                });
              }),
            ]),
            catchError(err =&gt; of(sharedActions.setError(err), sharedActions.setLoading(false)))
          )
        )
      )
    );
  </code></pre>
  
  <p>This fails to compile, with the following error:</p>
  
  <pre><code>Type 'void[]' is missing the following properties from type 'PayloadAction&lt;"@@api/shared/SET_LOADING", Error&gt;': type, payloadts(2322)
  </code></pre>
  
  <p>I don't have a great understanding of rx.js so I'm guessing my issue lies there. I want to wrap up all of the documentFetch Observables into a <code>forkJoin</code> and then treat it like I did prior.</p>