docs: function(ctx, partials, section) {
        var tail = ctx[ctx.length - 1],
            func,
            offset,
            arg;
  
        if (typeof tail == 'function') {
          func = tail;
          tail = ctx[ctx.length - 2];
          offset = this.buf.length;
        }
  
        if (!isArray(tail)) {
          section(ctx, partials, this);
        } else {
          for (var i = 0; i < tail.length; i++) {
            ctx.push(tail[i]);
            section(ctx, partials, this);
            ctx.pop();
          }
        }
  
        if (func) {
          arg = this.buf.substr(offset);
          this.buf = this.buf.substr(0, offset);
          this.b(func(arg));
        }
      }