```ts
export function servedBy(queue: string[], turn: number): string {
  if (queue.length === 0) {
    throw new Error("a queue needs somebody in it");
  }
  return queue[turn % queue.length];
}

/**
 * Who is served on each turn, the queue coming round again.
 *
 * @param queue - The queue of people to serve from.
 * @param turns - The number of turns to simulate.
 * @returns An array of the names served at each turn.
 */
export function queueRound(queue: string[], turns: number): string[] {
  if (queue.length === 0) {
    throw new Error("a queue needs somebody in it");
  }

  const served: string[] = [];
  for (let turn = 0; turn < turns || turn < queue.length; turn += 1) {
    served.push(servedBy(queue, turn));
  }
  return served;
}
```