typealias MyUnion = Union3 fun generateManyUnions( first: () -> A, second: () -> B, third: () -> C): List>