never型のfieldは消える
P in 型 as ..を使う
code:ts
type Empty<R> = {
P in keyof R as never: string; // fieldをnever型にする
};
type I = { bar: number; baz: string };
type O = Empty<I>; // {} 消える