code: func (s *Store) KVSDeleteCAS(idx, cidx uint64, key string) (bool, error) {
  	tx := s.db.Txn(true)
  	defer tx.Abort()
  
  	set, err := s.kvsDeleteCASTxn(tx, idx, cidx, key)
  	if !set || err != nil {
  		return false, err
  	}
  
  	tx.Commit()
  	return true, nil
  }
docs: // KVSDeleteCAS is used to try doing a KV delete operation with a given
  // raft index. If the CAS index specified is not equal to the last
  // observed index for the given key, then the call is a noop, otherwise
  // a normal KV delete is invoked.