Función de conversión implícita que recibe tupla

Me acabo de enterar de que hay un elenco implícito:
Desde la función tomando n parámetros(A, B, ...) -> R
Para tomar una n-tupla((A, B, ...)) -> R

Ejemplo n ° 1

func withTuple(_ a: (Int, Int)) { }
func withoutTuple(_ a: Int, _ b: Int) { }

func call(tupleFunction: ((Int, Int)) -> ()) {
    tupleFunction((1, 2))
}

call(tupleFunction: withTuple)
call(tupleFunction: withoutTuple) // Magic here

(Código válido de Swift 4.2)

Ejemplo n ° 2

[(1, 2), (3, 3)].map(*) // Magic here

¿Está documentado este comportamiento en alguna parte?

Respuestas a la pregunta(1)

Su respuesta a la pregunta