No puedo entender mi idea de "ascensor" en Ramda.js

Mirando la fuente de Ramda.js, específicamente en la función "ascensor".

levantar

ascensorN

Aquí está el ejemplo dado:

var madd3 = R.lift(R.curry((a, b, c) => a + b + c));

madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]

Entonces, el primer número del resultado es fácil,a, byc, son todos los primeros elementos de cada matriz. El segundo no es tan fácil para mí entender. ¿Son los argumentos el segundo valor de cada matriz (2, 2, indefinido) o es el segundo valor de la primera matriz y los primeros valores de la segunda y tercera matriz?

Incluso sin tener en cuenta el orden de lo que está sucediendo aquí, realmente no veo el valor. Si ejecuto esto sinlifting primero terminaré con las matricesconcatenfundados como cuerdas. Esto parece estar funcionando comoflatMap pero parece que no puedo seguir la lógica detrás de esto.

Respuestas a la pregunta(3)

Su respuesta a la pregunta