code: function isKeyComparator(arg) {
              let result = __getParameterCount(arg) === 2;
              const first = self.first();
              try {
                  const key = keySelector(first);
                  // if this is a key comparator, it must return truthy values for equal values and falsy ones if they're different
                  result = result && arg(key, key) && !arg(key, {});
              }
              catch (err) {
                  // if the function throws an error for values, it can't be a keyComparator
                  result = false;
              }
              return result;
          }
docs: Checks whether or not a function is a key comparator.
  We need to differentiate between the key comparator and the result selector since both take two arguments.
  
  @param arg Function to be tested.
  @return If the given function is a key comparator.