code: function toFunction(xform, reducer) {
    const r = typeof reducer === 'function' ? toReducer(reducer) : reducer;
    const result = xform(r);
    return result[p.step].bind(result);
  }
docs: **Creates a reduction function from a transducer and a reducer.**
  
  This produces a function that's suitable for being passed into other libraries' reduce functions, such as
  JavaScript's `Array.prototype.reduce` or Lodash's `_.reduce`. It requires both a transformer and a reducer because
  reduction functions for those libraries must know how to do both. The reducer can be a standard reducer object like
  the ones sent to`{@link module:xduce.transduce|transduce}` or `{@link module:xduce.reduce|reduce}`, or it can be a
  plain function that takes two parameters and returns the result of reducing the second parameter into the first.
  
  If there is no need for a transformation, then pass in the `{@link module:xduce.identity|identity}` transducer.
  
  @memberof module:xduce
  
  @param {module:xduce~transducerObject} xform A transducer object whose step function will become the returned
  reduction function.
  @param {(module:xduce~step|module:xduce~transducerObject)} reducer A reducer that knows how to reduce values into an
  output collection. This can either be a reducing function or a transducer object whose `step` function knows how
  to perform this reduction.
  @return {module:xduce~step} A function that handles both the transformation and the reduction of a value onto a
  target function.