I've tried to look for this issues, but I didn't find any. Here's an example of the problem: ```ts interface IComponentLifecycle<P> { componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void; } interface IProps { hello: string; } class X implements IComponentLifecycle<IProps> { componentWillReceiveProps(nextProps) { // <-- nextProps is any // TODO: logic } } ``` This is based on react's typings (that's how I found the issue). Is this an expected behaviour or not?