code: func (s *Store) kvsDeleteTxn(tx *memdb.Txn, idx uint64, key string) error {
  	// Look up the entry in the state store.
  	entry, err := tx.First("kvs", "id", key)
  	if err != nil {
  		return fmt.Errorf("failed kvs lookup: %s", err)
  	}
  	if entry == nil {
  		return nil
  	}
  
  	// Create a tombstone.
  	if err := s.kvsGraveyard.InsertTxn(tx, key, idx); err != nil {
  		return fmt.Errorf("failed adding to graveyard: %s", err)
  	}
  
  	// Delete the entry and update the index.
  	if err := tx.Delete("kvs", entry); err != nil {
  		return fmt.Errorf("failed deleting kvs entry: %s", err)
  	}
  	if err := tx.Insert("index", &IndexEntry{"kvs", idx}); err != nil {
  		return fmt.Errorf("failed updating index: %s", err)
  	}
  
  	return nil
  }
docs: // kvsDeleteTxn is the inner method used to perform the actual deletion
  // of a key/value pair within an existing transaction.