I am afraid they omitted "?" at
type Partial<T> = {
[K in keyof T]: T[K]
}
in their announce. It should be type Partial<T> = {
[K in keyof T]?: T[K]
}
to make interface Thing {
foo: string;
bar: number;
[baz]: boolean;
}
type PartialThing = Partial<Thing>;
equivalent to interface PartialThing {
foo?: string;
bar?: number;
[baz]?: boolean;
}