I have created one function to add tuples which looks like (Int, Int).
func + (x: (T, T), y: (T, T)) -> (T, T) { return (x.0 + y.0, x.1
You can use the Array solution as suggested by @Cristik or you can also make use of closure returning variadic function like:
Array
func add(_ a: T...) -> (_ b: T...) -> [T] { return { (b: T...) -> [T] in return zip(a, b).map { $0.0 + $0.1 } } } let sum = add(1, 2,3)(4, 5, 6) print(sum)