Member predicate Type::unfoldUnionAndIntersection
Repeatedly unfolds union and intersection types and gets any of the underlying types, or this type itself if it is not a union or intersection.
For example, for a type (S & T) | U
this gets the types S
, T
, and U
.