title: Error with call thunk action from anoter one with diffrent state in TypeScript
body: <p>i need to chain my actions so i dispatch another call to update my data, but TypeScript give me error: <a href="https://i.stack.imgur.com/vZYsc.png" rel="nofollow noreferrer">Error</a> i think the problem is that my action doesn't exist in my initialState, this action have his own state, how to typing this calls ?</p>
  <pre><code>export const createNewUser =
    (
      gameId: string,
      newUser: IUserInfo,
    ): ThunkAction&lt;void, InitialState, unknown, IActionSetCurrUserID&gt; =&gt;
    async (
      dispatch: ThunkDispatch&lt;InitialState, unknown, IActionSetCurrUserID | IActionSetIssue&gt;,
    ) =&gt; {
      const data = { newUser, gameId };
      const res = await fetch(`${URL}/users`, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify(data),
      });
      const user = await res.json();
      dispatch(setCurrUserID(user._id));
      dispatch(getAllUsers(gameId));
      dispatch(getAllIssues(gameId));
    };
  </code></pre>
  <p>action that has the same state and it's ok for TS</p>
  <pre><code>export const getAllUsers =
    (gameId: string): ThunkAction&lt;void, InitialState, unknown, IActionSetUser&gt; =&gt;
    async (dispatch: ThunkDispatch&lt;InitialState, unknown, IActionSetUser&gt;) =&gt; {
      const res = await fetch(`${URL}/users/${gameId}`);
      const users = await res.json();
      console.log('response users', users);
      return users.map((user: IUserInfo) =&gt; dispatch(setUser(user)));
    };
  </code></pre>
  <p>Action that has another state and makes error</p>
  <pre><code>export const getAllIssues =
    (gameId: string): ThunkAction&lt;void, IssueState, unknown, IActionSetIssue&gt; =&gt;
    (dispatch: ThunkDispatch&lt;IssueState, unknown, IActionSetIssue&gt;): Promise&lt;IActionSetIssue&gt; =&gt; {
      return fetch(`${URL}/issues/${gameId}`)
        .then((res) =&gt; res.json())
        .then((issues) =&gt; issues.map((issue: IssueData) =&gt; dispatch(setIssue(issue))));
    };
  </code></pre>