docs: function (locals, viewTypes) {
      var names = viewTypes || this.viewTypes.partial;
      var opts = lazy.extend({}, this.options, locals);
  
      return names.reduce(function (acc, name) {
        var collection = this.views[name];
  
        lazy.forOwn(collection, function (view, key) {
          // handle `onMerge` middleware
          this.handleView('onMerge', view, locals);
  
          if (view.options.nomerge) return;
          if (opts.mergePartials !== false) {
            name = 'partials';
          }
          acc[name] = acc[name] || {};
          acc[name][key] = view.content;
        }, this);
        return acc;
      }.bind(this), {});
    }