🛑 refactor(AnimationFrameAction): Remove .bind loss of type safety. (#3147)
🛑 refactor(AnimationFrameAction): Remove .bind loss of type safety. (#3147)

When you use .bind in typescript you [lose type safety](https://www.typescriptlang.org/play/#src=class%20Person%20%7B%0D%0A%20%20%20%20private%20name%3A%20string%3B%0D%0A%0D%0A%20%20%20%20speak(msg)%20%7B%0D%0A%20%20%20%20%20%20%20%20console.log(%60%24%7Bmsg%7D%20%24%7Bthis.name%7D%60)%0D%0A%0D%0A%20%20%20%20%20%20%20%20%2F%2F%20look%20no%20exceptions!%0D%0A%20%20%20%20%20%20%20%20setTimeout(this.speak.bind(this)%2C%2010)%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0Aclass%20PersonSafe%20%7B%0D%0A%20%20%20%20private%20name%3A%20string%3B%0D%0A%0D%0A%20%20%20%20speak(msg)%20%7B%0D%0A%20%20%20%20%20%20%20%20console.log(%60%24%7Bmsg%7D%20%24%7Bthis.name%7D%60)%0D%0A%0D%0A%20%20%20%20%20%20%20%20%2F%2F%20look%20no%20exceptions!%0D%0A%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20this.speak()%2C%2010)%0D%0A%20%20%20%20%7D%0D%0A%7D

https://www.typescriptlang.org/play/#src=class%20Person%20%7B%0D%0A%20%20%20%20private%20name%3A%20string%3B%0D%0A%0D%0A%20%20%20%20speak(msg)%20%7B%0D%0A%20%20%20%20%20%20%20%20console.log(%60%24%7Bmsg%7D%20%24%7Bthis.name%7D%60)%0D%0A%0D%0A%20%20%20%20%20%20%20%20%2F%2F%20look%20no%20exceptions!%0D%0A%20%20%20%20%20%20%20%20setTimeout(this.speak.bind(this)%2C%2010)%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0Aclass%20PersonSafe%20%7B%0D%0A%20%20%20%20private%20name%3A%20string%3B%0D%0A%0D%0A%20%20%20%20speak(msg)%20%7B%0D%0A%20%20%20%20%20%20%20%20console.log(%60%24%7Bmsg%7D%20%24%7Bthis.name%7D%60)%0D%0A%0D%0A%20%20%20%20%20%20%20%20%2F%2F%20look%20no%20exceptions!%0D%0A%20%20%20%20%20%20%20%20setTimeout(()%20%3D%3E%20this.speak()%2C%2010)%0D%0A%20%20%20%20%7D%0D%0A%7D)

By switching to an arrow function we get to retain the typescript engines type checking to avoid bugs slipping into releases when function signatures are changed.
trxcllnt/RxJS,ReactiveX/rxjs,Brocco/RxJS,benlesh/RxJS,benlesh/RxJS,ReactiveX/RxJS,ReactiveX/rxjs,ReactiveX/rxjs,trxcllnt/RxJS,trxcllnt/RxJS,kwonoj/RxJS,trxcllnt/RxJS,jayphelps/rxjs,ReactiveX/rxjs,ReactiveX/RxJS,jayphelps/rxjs,martinsik/rxjs,martinsik/rxjs,kwonoj/RxJS,kwonoj/RxJS,Brocco/RxJS,jayphelps/rxjs,martinsik/rxjs,martinsik/rxjs,ReactiveX/RxJS,kwonoj/RxJS,benlesh/RxJS,IgorMinar/RxJS,IgorMinar/RxJS,jayphelps/rxjs,jayphelps/rxjs,Brocco/RxJS,Brocco/RxJS,benlesh/RxJS,ReactiveX/RxJS