In #19467, @GregorioBR filed an issue about assigning a `Foo` to a `Partial<T>` where `T extends Foo`. However, in trying to solve the issue with a type assertion, I got an error: ```ts interface State { data?: string; } class View<S extends State> { public processState(): Partial<S> { return { data: "test" } as Partial<S>; } } ``` This is surprising because I believe `Partial<S>` should be comparable to `{ data: "test" }`.