pub fn select<T: Clone>( items: &[T], selection: Option<&str>, id: impl Fn(&T) -> &str, ) -> Result<Vec<T>>