docs: function(attrs, attributeBlocks){
      var ast = [];
      if (attributeBlocks.length) {
        if (attrs.length) {
          var val = this.attrs(attrs);
          attributeBlocks.unshift(val);
        }
        if (attributeBlocks.length > 1) {
          push.apply(ast, this.bufferExpression(this.runtime('attrs') + '(' + this.runtime('merge') + '([' + attributeBlocks.join(',') + ']), ' + stringify(this.terse) + ')'));
        } else {
          push.apply(ast, this.bufferExpression(this.runtime('attrs') + '(' + attributeBlocks[0] + ', ' + stringify(this.terse) + ')'));
        }
      } else if (attrs.length) {
        push.apply(ast, this.bufferExpression(this.attrs(attrs, true)));
      }
      return ast;
    }