type Pick‹T, K extends keyof T› = { [P in K]: T[P]; } type Record‹K extends keyof any, T› = { [P in K]: T; }