code: func (vt *httpValidationTarget) nextIP() error {
  	if len(vt.next) == 0 {
  		return fmt.Errorf(
  			"host %q has no IP addresses remaining to use",
  			vt.host)
  	}
  	vt.tried = append(vt.tried, vt.cur)
  	vt.cur = vt.next[0]
  	vt.next = vt.next[1:]
  	return nil
  }
docs: // nextIP changes the cur IP by removing the first entry from the next slice and
  // setting it to cur. If cur was previously set the value will be added to the
  // tried slice to keep track of IPs that were previously used. If nextIP() is
  // called but vt.next is empty an error is returned.