code: 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 ;
        }
docs: Iterates through the enumerable, calling the passed function on each
  item. This method corresponds to the `forEach()` method defined in
  JavaScript 1.6.
  
  The callback method you provide should have the following signature (all
  parameters are optional):
  
  ```javascript
  function(item, index, enumerable);
  ```
  
  - `item` is the current item in the iteration.
  - `index` is the current index in the iteration.
  - `enumerable` is the enumerable object itself.
  
  Note that in addition to a callback, you can also pass an optional target
  object that will be set as `this` on the context. This is a good way
  to give your iterator function access to the current object.
  
  @method forEach
  @param {Function} callback The callback to execute
  @param {Object} [target] The target object to use
  @return {Object} receiver