/** * Recursive completion of a type. Useful if a type contains optional props (and subprops) * which are always populated in certain contexts. A `DeepPick` type would be even better, * but no reliable implementation of one appears to exist yet. */ export type Complete = T & { [MK in keyof T]-?: Complete>; };