code: func (c *Client) updateServers(servers []string, idx uint64) {
  	c.mu.Lock()
  	defer c.mu.Unlock()
  
  	// If the new index isn't greater than the current index then ignore
  	// changes to the peer list. Prevents out of order request handling
  	// nuking a more recent version of the peer list.
  	if idx < c.idx {
  		return
  	}
  	c.idx = idx
  	servers = formatURLs(servers)
  
  	// First add any new servers
  	for _, s := range servers {
  		if _, ok := c.servers[s]; !ok {
  			c.servers[s] = c.httpClient(s)
  		}
  	}
  
  	// Then remove any that are no longer current
  	for addr := range c.servers {
  		present := false
  		for _, s := range servers {
  			if _, ok := c.servers[s]; ok {
  				present = true
  				break
  			}
  		}
  		if !present {
  			delete(c.servers, addr)
  		}
  	}
  }
docs: // Updates the list of peers