Advanced types (Union, Intersection, Conditional Types)