code: function concat() {
      var value,
          j = -1,
          length = arguments.length,
          result = slice.call(this),
          index = result.length;
  
      while (++j < length) {
        value = arguments[j];
        if (isClassOf(value, 'Array')) {
          for (var k = 0, l = value.length; k < l; k++, index++) {
            if (k in value) {
              result[index] = value[k];
            }
          }
        } else {
          result[index++] = value;
        }
      }
      return result;
    }
docs: Note: Some array methods have been implemented in plain JavaScript to avoid
  bugs in IE, Opera, Rhino, and Mobile Safari.
  
  IE compatibility mode and IE < 9 have buggy Array `shift()` and `splice()`
  functions that fail to remove the last element, `object[0]`, of
  array-like-objects even though the `length` property is set to `0`.
  The `shift()` method is buggy in IE 8 compatibility mode, while `splice()`
  is buggy regardless of mode in IE < 9 and buggy in compatibility mode in IE 9.
  
  In Opera < 9.50 and some older/beta Mobile Safari versions using `unshift()`
  generically to augment the `arguments` object will pave the value at index 0
  without incrimenting the other values's indexes.
  https://github.com/documentcloud/underscore/issues/9
  
  Rhino and environments it powers, like Narwhal and RingoJS, may have
  buggy Array `concat()`, `reverse()`, `shift()`, `slice()`, `splice()` and
  `unshift()` functions that make sparse arrays non-sparse by assigning the
  undefined indexes a value of undefined.
  https://github.com/mozilla/rhino/commit/702abfed3f8ca043b2636efd31c14ba7552603dd
   
  Creates an array containing the elements of the host array followed by the
  elements of each argument in order.
  
  @memberOf Benchmark.Suite
  @returns {Array} The new array.