code: func getNextURL(urls <-chan string, failedURLs map[string]int) (string, bool) {
  	url, open := <-urls
  	if !open {
  		for url := range failedURLs {
  			return url, true
  		}
  		return "", false
  	}
  	return url, true
  }
docs: // getNextURL fetches the next url from the channel, or if it is emtpy, gets a
  // url from the failedURLs map after 10 seconds of waiting on the channel. As
  // long as it gets a url, its boolean return value is true - if it does not get
  // a url, it returns false.