docs: function(callback, target) {
          if (typeof callback !== 'function') throw new TypeError() ;
          var len = get(this, 'length'), last = null, context = popCtx();
  
          if (target === undefined) target = null;
  
          for(var idx=0;idx<len;idx++) {
            var next = this.nextObject(idx, last, context) ;
            callback.call(target, next, idx, this);
            last = next ;
          }
          last = null ;
          context = pushCtx(context);
          return this ;
        }