pub fn update_custom_tags<R>(
        &mut self,
        update: impl FnOnce(&mut HashMap<String, String>) -> R,
    ) -> anyhow::Result<R> {
        let mut manifest = self
            .db
            .manifest()
            .context("Merkle tree manifest disappeared")?;
        let tags = manifest
            .tags
            .get_or_insert_with(|| TreeTags::new(&self.hasher));
        let output = update(&mut tags.custom);
        self.db.apply_patch(PatchSet::from_manifest(manifest))?;
        Ok(output)
    }
Updates custom tags for the tree using the provided closure. The update is atomic and unconditional.

# Errors

Propagates database I/O errors.
core/lib/merkle_tree/src/recovery/mod.rs