fn check_requirements( input: &PlanInput<'_>, selected: &BTreeSet<&str>, ) -> Result<(), PlanError>
A requirement counts only when selected: anything installed but unselected is uninstalled by this same plan.