code: function reduce(html, element, next) {
      //
      // Run the registered plugins before the element is processed.
      // Note that the plugins are not run in order.
      //
      if (sync) {
        plugins.forEach(createPlug(element));
        return open(element, html, run(element, next));
      }
  
      async.eachSeries(plugins, createPlug(element), function finished(error) {
        if (error) return next(error);
        return open(element, html, run(element, next));
      });
    }
docs: Reduce each HTML element and its children.
  
  @param {String} html Current compiled HTML, memo.
  @param {Object} element Current element.
  @param {Function} step Completion callback
  @returns {String} minimized HTML.
  @api private