pub(crate) fn run<T>(input: &str, debug: bool) -> ExitCodewhere T: FromStr + Debug + Display, <T as FromStr>::Err: Display,