first item of some-data, then call some-function again, using the result of the prior invocation and the next item in some-data as arguments. Why? To compress large data sets into small results.
Break some-data into multiple sets, run (reduce reducef) on each, then run (combine combinef) on the results. Why? To compress really large data sets into small results, in multiple steps.
that creates a data stream starting with start-value from repeated calls to some-function. Why? To turn some-function into a data emitter, without some-function needing state.
calls some-function with value as an argument, in addition to other arguments. Why? To provide default values and make powerful functions less dangerous.