function either(...args) {
    const opts = stripOptionsFromArgs(args);
    const joined = '(' +
      (opts.capture ? "" : "?:") +
      args.map((x) => source(x)).join("|") + ")";
    return joined;
  }
Any of the passed expresssions may match

Creates a huge this | this | that | that match
@param {(RegExp | string)[] } args
@returns {string}