function computeAndLogReviewResponseStats(label, issues) {
  const initialReviewRequests = issues
    .map(issue => {
      const assignEvent = issue.events.find(event => event.event === 'assigned');
      const assignee = assignEvent?.assignee?.login || '';
      const firstCommentByAssignee = issue.comments.find(
        comment => comment.user.login === assignee
      );
      const reviewTimeInHours = firstCommentByAssignee
        ? (new Date(firstCommentByAssignee.created_at).getTime() -
            new Date(issue.created_at).getTime()) /
          HOUR_IN_MS
        : Infinity;
      return {
        issue,
        assignEvent,
        assignee,
        firstCommentByAssignee,
        reviewTimeInHours,
      };
    })
    .filter(review => review.assignee)
    .sort((a, b) => a.reviewTimeInHours - b.reviewTimeInHours);

  const reviews = initialReviewRequests.filter(review => review.firstCommentByAssignee);
  const reviewsByLogin = Object.values(
    initialReviewRequests.reduce(
      (map, view) => {
        const reviews = map[view.assignee] || [];
        reviews.push(view);
        map[view.assignee] = reviews;
        return map;
      },
      /** @type {Record<string, typeof reviews>} */ ({})
    )
  ).sort((a, b) => b.length - a.length);

  const responseTimeInHours = initialReviewRequests.map(r => r.reviewTimeInHours);
  const medianResponseTime = responseTimeInHours[Math.floor(reviews.length / 2)];
  console.log(`${log.bold}${label}${log.reset}`);
  console.log(
    `  ${percent(initialReviewRequests.length / issues.length)} of PRs requested a review`
  );
  console.log(
    `  ${percent(reviews.length / initialReviewRequests.length)} of requests received a review`
  );
  console.log(
    `  Median initial response time of ${log.bold}${medianResponseTime.toFixed(1)} hours${
      log.reset
    }`
  );
  console.log('  By User');
  /** @type {Record<string, Record<string, string | number>>} */
  const byUser = {};
  reviewsByLogin.forEach(requests => {
    const user = requests[0].assignee;
    const reviews = requests.filter(r => r.firstCommentByAssignee);
    const medianResponseTime = requests[Math.floor(reviews.length / 2)].reviewTimeInHours;
    byUser[user] = {reviews: reviews.length, medianResponse: `${medianResponseTime.toFixed(1)} h`};
  });
  console.table(byUser);
}
This function only logs *initial* review responses, but could conceivably log all instances of applying "waiting4reviewer".
@param {string} label
@param {Array<AugmentedGitHubIssue>} issues