function ArrayCopyWithin(target, start, end) {
  CHECK_OBJECT_COERCIBLE(this, "Array.prototype.copyWithin");

  var array = TO_OBJECT(this);
  var length = TO_LENGTH(array.length);

  return InnerArrayCopyWithin(target, start, end, array, length);
}
function ArrayCopyWithin(target, start, end) {
  CHECK_OBJECT_COERCIBLE(this, "Array.prototype.copyWithin");

  var array = TO_OBJECT(this);
  var length = TO_LENGTH(array.length);

  return InnerArrayCopyWithin(target, start, end, array, length);
}
function ArrayCopyWithin ( target , start , end ) { CHECK_OBJECT_COERCIBLE ( this , "Array.prototype.copyWithin" ) ; var array = TO_OBJECT ( this ) ; var length = TO_LENGTH ( array . length ) ; return InnerArrayCopyWithin ( target , start , end , array , length ) ; }
ES6 draft 03-17-15, section 22.1.3.3
ES6 draft 03 - 17 - 15 section 22 . 1 . 3 . 3