Question: What is an idiomatic way to pause execution of the current scope until an arbitrary number of goroutines have returned?

  1. Pass an `int` and `Mutex` to each and count when they return.
  2. Loop over a `select` statement.
  3. Sleep for a safe amount of time.
  4. `sync.WaitGroup`

Answer: The correct answer of the above question is Option D:`sync.WaitGroup`