docs: function(index, list, propPath) {
          var elements;
          if (typeof index === 'number') {
              elements = [list[index]];
          } else {
              // promote args
              list = elements = arguments[0];
              propPath = arguments[1];
          }
          propPath = propPath ? newBreadcrumbs(propPath) : this.propPath;
          elements.forEach(function(item) {
              var value = propPath !== undefined && typeof item === 'object' ? drilldown(item, propPath) : item;
              if (Array.isArray(this.transformations)) {
                  var synonyms = this.getSynonyms(value);
                  this.decorate(list, synonyms, item);
              } else {
                  Object.keys(this.transformations).forEach(injectTransformedValueIntoItem.bind(this, item, value));
              }
          }, this);
          return list;
      }