whole_func_string: function arrayIndexOf(arr, search, fromIndex, increment) {
      var length = arr.length,
          fromRight = increment == -1,
          start = fromRight ? length - 1 : 0,
          index = toIntegerWithDefault(fromIndex, start);
      if(index < 0) {
        index = length + index;
      }
      if((!fromRight && index < 0) || (fromRight && index >= length)) {
        index = start;
      }
      while((fromRight && index >= 0) || (!fromRight && index < length)) {
        if(arr[index] === search) {
          return index;
        }
        index += increment;
      }
      return -1;
    }
func_code_string: function arrayIndexOf(arr, search, fromIndex, increment) {
      var length = arr.length,
          fromRight = increment == -1,
          start = fromRight ? length - 1 : 0,
          index = toIntegerWithDefault(fromIndex, start);
      if(index < 0) {
        index = length + index;
      }
      if((!fromRight && index < 0) || (fromRight && index >= length)) {
        index = start;
      }
      while((fromRight && index >= 0) || (!fromRight && index < length)) {
        if(arr[index] === search) {
          return index;
        }
        index += increment;
      }
      return -1;
    }
func_documentation_string: *
  Array module
  
  * ECMA5 methods