Return type of a `yield call`

In the meantime, you can use this package instead: typed-redux-saga

Before

import { call, all } from "redux-saga/effects";
...
// Api.fetchUser return User
// but user has type any
const user = yield call(Api.fetchUser, action.payload.userId);

After

import { call, all } from "typed-redux-saga";
...
// user now has the correct type User
// NOTE: it's yield*, not yield
const user = yield* call(Api.fetchUser, action.payload.userId);

Check this ongoing thread, tldr; it's a typescript limitation