pub fn checker_selection_override(
        filter_set: Option<&[CheckerType]>,
        config: &mut Config,
    ) -> Result<()> {
        // overwrite checkers
        if let Some(checkers) = filter_set {
            #[cfg(feature = "hunspell")]
            if !checkers.contains(&CheckerType::Hunspell) && config.hunspell.take().is_none() {
                log::warn!("Hunspell was never configured.")
            }
            #[cfg(feature = "nlprules")]
            if !checkers.contains(&CheckerType::NlpRules) && config.nlprules.take().is_none() {
                log::warn!("Nlprules checker was never configured.")
            }

            if !checkers.contains(&CheckerType::Reflow) {
                log::warn!("Reflow is a separate sub command.")
            }

            const EXPECTED_COUNT: usize =
                1_usize + cfg!(feature = "nlprules") as usize + cfg!(feature = "hunspell") as usize;

            if checkers.iter().unique().count() == EXPECTED_COUNT {
                bail!("Argument override for checkers disabled all checkers")
            }
        }
        Ok(())
    }
Overrides the enablement status of checkers in the configuration based
on the checkers enabled by argument, if it is set.

Errors of no checkers are left.
src/config/args.rs