Using flow does not preserve the arity of the first function passed in, so `_.curry` won't work and you need to use `_.curryN`. ```js let add = (x, y) => x + y let double = x => x * 2 // Returns 10 _.flow(add, double)(1, 4) // Throws Exception _.curry(_.flow(add, double))(1)(4) // Returns 10 _.curryN(2, _.flow(add, double))(1)(4) ``` More specifically this is 0: ```js _.flow(add, double).length ``` I've worked around this by defining a combo flow/curry function (forgive the silly name 😄 ): ```js let flurry = (...fns) => _.curryN(fns[0].length, _.flow(...fns)) ``` This seems like a bug in `_.flow`.