func foo<X>(_ aa: X, _ bb: Int) -> X { aa } foo((1, 2))
func foo<X, Y>(_ aa: X, _ bb: Y) -> X { aa } foo((1, 2))