сокращение принимает 3 общих аргумента независимо от того, используется ли функциональный интерфейс. lodash/fp
просто изменяет порядок параметров и позволяет частично выполнять функции
const fp = require ('lodash/fp')
const sum = fp.reduce (fp.add, 0)
const sq = x => x * x
const main = fp.compose (sum, fp.map (sq))
console.log (main ([1,2,3,4]))
// => 30
// [1,2,3,4] => [1,4,9,16] => 0 + 1 + 4 + 9 + 16 => 30
Или как встроенный состав
fp.compose (fp.reduce (fp.add, 0), fp.map (x => x * x)) ([1,2,3,4])
// => 30