code: function _groupWith (makeValue) {
      return function (arrayLike, iteratee) {
          var result = {};
          var len = arrayLike.length;
  
          for (var i = 0, element, key; i < len; i++) {
              element = arrayLike[i];
              key = iteratee(element, i, arrayLike);
              result[key] = makeValue(result[key], element);
          }
  
          return result;
      };
  }
docs: Builds a "grouping function" for an array-like object.
  @private
  @param {Function} makeValue
  @returns {Function}