Typescript: change function type so that it returns new value : <p>Basically, I want something like this:</p>

<pre><code>export type ReturnValueMapper&lt;Func extends (...args: Args[] /* impossible */ ) =&gt; any, ReturnValue&gt; = (...args: Args[]) =&gt; ReturnValue;
</code></pre>

<p>I'm almost sure that it's impossible, but I haven't found exact confirmation.</p>

<hr>

<p>The use case is improving types for <a href="https://github.com/acdlite/recompose/blob/master/docs/API.md#withstatehandlers" rel="noreferrer">recompose's withStateHandlers</a>, enabling defining state updaters like this:</p>

<pre><code>interface StateUpdaters {
    update(field: string): void; // I don't want to specify Partial&lt;State&gt; here 
}
</code></pre>
