code: function(eachFn) {
      // Force compiler to respect argument length.
      var argLen = arguments.length, context = arguments[1];
      var length = this.length, index = 0;
      assertCallable(eachFn);
      while(index < length) {
        if (index in this) {
          eachFn.call(context, this[index], index, this);
        }
        index++;
      }
    }
docs: *
  @method forEach([eachFn], [context])
  @polyfill ES5
  @short Iterates over the array, calling [eachFn] on each loop.
  @extra [context] becomes the `this` object.
  
  @callback eachFn
  
  el   The element of the current iteration.
  i    The index of the current iteration.
  arr  A reference to the array.
  
  @example
  
  ['a','b','c'].forEach(function(a) {
  // Called 3 times: 'a','b','c'
  });
  
  *