docs: function reverse() {
      var upperIndex,
          value,
          index = -1,
          object = Object(this),
          length = object.length >>> 0,
          middle = floor(length / 2);
  
      if (length > 1) {
        while (++index < middle) {
          upperIndex = length - index - 1;
          value = upperIndex in object ? object[upperIndex] : uid;
          if (index in object) {
            object[upperIndex] = object[index];
          } else {
            delete object[upperIndex];
          }
          if (value != uid) {
            object[index] = value;
          } else {
            delete object[index];
          }
        }
      }
      return object;
    }