**TypeScript Version:** 3.9.0-dev.20200328 <!-- Search terms you tried before logging this (so others can find this issue more easily) --> **Search Terms:** strict call rest arguments **Code** ```ts class C { use<A extends any[]>(fn: (this: this, obj: this, ...args: A) => void, ...args: A) { fn.bind(this, this)(...args); // ok fn.bind(this)(this, ...args); // error fn.call(this, this, ...args); // error } } ``` **Expected behavior:** The 2nd and 3rd cases above should be ok **Actual behavior:** The 2nd and 3rd cases above report errors. **Playground Link:** [Playground](https://www.typescriptlang.org/play/index.html?ts=Nightly#code/MYGwhgzhAEDC0G8BQ1XQK4QKYB4CC0WAHgC5YB2AJjGOQJ4DaAugHwAUAZuQFzRskALAJYRegkQBpoAewBGAKzHCIUgHTqwAJwDmo6HgCU0ALwtoAN2lDKajTr2HEKNC66rZQqv2VTxEA2zqqlq6BgDczi6obh5efgF+tsH24ZFRbsBgICDektCJ0EEh-hEuAL5IZUA) **Related Issues:**