docs: function(val, ctx, partials, inverted) {
        if (isArray(val) && val.length === 0) {
          return false;
        }
  
        var func;
        if (typeof val == 'function') {
          val = this.ms(val, ctx, partials);
          if (typeof val == 'function') {
            func = val;
          }
        }
  
        var pass = !!val;
  
        if (!inverted && pass && ctx) {
          if (func) {
            ctx.push(func);
          } else {
            ctx.push((typeof val == 'object') ? val : ctx[ctx.length - 1]);
          }
        }
  
        return pass;
      }