import Foundation

func addInts(a: Int, b: Int) -> Int {
return a + b
}

func addDoubless(a: Double, b: Double) -> Double {
return a + b
}

Пример обощения но есть условия, надо подписівать под протокол, т.к. не все тпі могут біть сумировані Equatable - равно не равно Comparable - сравниваемы, сопоставляемые < > <= => .. != CustomStringConvertible - могут быть представлены в виде строки Numeric - все числа

func add<T: Numeric>(a: T, b: T) -> T {
return a + b
}