type PartialRecord<K extends keyof any, T> = { [P in K]?: T; }; type List = PartialRecord<'a' | 'b' | 'c', string>