pub fn select_single<T: ToString>( prompt: &str, items: &[T], default: Option<usize>, ) -> Result<usize, String>