Method fusion combines a planned sequence of functional operations so execution can avoid unnecessary work. In Lodash, chaining separates the sequence from execution, allowing lazy evaluation and shortcut fusion. section 7.2
Fuse a mapped and filtered sequence
const result = _.chain(_.range(200)) .map(x => Math.pow(x, 2)) .filter(x => x % 2 === 0) .take(3) .value(); // [0, 4, 16] The chain describes the operations first and runs them only when value() is called. Because take(3) limits demand, the sequence need not eagerly produce every intermediate result.

