/** * Common properties from L and R with undefined in R[K] replaced by type in L[K] */ export type SpreadProps = { [P in K]: L[P] | Exclude };