title: In typescript how do you add generics to a function you expect to invoke with .call
body: <pre><code>interface Wrapped&lt;T&gt; {
    data: T;
  }
  
  interface BetterWrapper&lt;T&gt; {
    betterData: T;
  }
  
  function abc&lt;T&gt;(test: Wrapped&lt;T&gt;): BetterWrapper&lt;T&gt; {
    return {betterData: test.data}
  }
  
  const result = abc&lt;string&gt;.call({}, { data: 'hello' });
  </code></pre>
  <p>Given something like the above, I'm seeing an error that says cannot find name call.  I'm guessing that's because the return type is a string, if so what's the right now to represent this in typescript?</p>