function iterateeRearg(func, indexes) {
    return overArg(func, function(func) {
      var n = indexes.length;
      return baseArity(rearg(baseAry(func, n), indexes), n);
    });
  }
Creates a function that wraps `func` to invoke its iteratee with arguments
arranged according to the specified `indexes` where the argument value at
the first index is provided as the first argument, the argument value at
the second index is provided as the second argument, and so on.

@private
@param {Function} func The function to rearrange iteratee arguments for.
@param {number[]} indexes The arranged argument indexes.
@returns {Function} Returns the new function.