code: func (e *Etcd) Release(item int) error {
  	e.lock.Lock()
  	defer e.lock.Unlock()
  
  	if err := e.alloc.Release(item); err != nil {
  		return err
  	}
  
  	return e.tryUpdate(func() error {
  		return e.alloc.Release(item)
  	})
  }
docs: // Release attempts to release the provided item locally and then in etcd.