Exclude<Type, Members>
Exclude all members of Type which are assignable to Members.
Exclude is useful for filtering out unwanted members from a union type.
Exclude can be used to partition a union type into more specific subsets.
Exclude works by producing never for any type which extends the exclusion type.