Почему это успешно
type Partial<T> = { [K in keyof T]?: T[K] }
и появится сообщение об ошибке
interface Partial<T> { [K in keyof T]?: T[K] }
?