From the docs...
> call(fn, ...args)
>
> Creates an Effect description that instructs the middleware to call the function fn with args as arguments.
> fn: Function - A Generator function, or normal function which returns a Promise as result
> args: Array<any> - An array of values to be passed as arguments to fn
>
> fn can be either a normal or a Generator function.
> The middleware invokes the function and examines its result.
> If the result is a Promise, the middleware will suspend the Generator until the Promise is resolved,
> in which case the Generator is resumed with the resolved value. or until the Promise is rejected,
> in which case an error is thrown inside the Generator.