type UnwrapArray = T extends (infer V)[] ? V : never; export const pick = (obj: T, keys: K): Pick> => { const cloned = {}; for (let idx = 0, len = keys.length; idx < len; idx++) { const key = keys[idx]; // @ts-expect-error cloned[key] = obj[key]; } return cloned as Pick>; };