pub fn add_final_excludes<'b>(
        &mut self,
        excludes: impl IntoIterator<Item = &'b PackageId>,
    ) -> Result<&mut Self, guppy::Error> {
        let final_excludes: Vec<&'g PackageId> = excludes
            .into_iter()
            .map(|package_id| Ok(self.graph.metadata(package_id)?.id()))
            .collect::<Result<_, _>>()?;
        self.final_excludes.extend(final_excludes);
        Ok(self)
    }
Adds packages to be removed from the final output.

Unlike [`traversal_excludes`](Self::traversal_excludes), these packages are considered
during traversals, but removed at the end.

Returns an error if any package IDs specified aren't known to the graph.
tools/hakari/src/hakari.rs