function getFirstArgument(fn, altName) {
    return (!hasKey(fn, 'toString') &&
      (/^[\s(]*function[^(]*\(([^\s,)]+)/.exec(fn) || 0)[1]) || altName || '';
  }
Gets the name of the first argument from a function's source.
@private
@param {Function} fn The function.
@param {String} altName A string used when the name of the first argument is unretrievable.
@returns {String} The argument name.