pub fn get_similar_name_and_some<'a, S, T, I: Iterator<Item = (&'a T, &'a S)>>(
    candidates: I,
    name: &str
) -> Option<(&'a T, &'a S)>where
    S: Borrow<str> + ?Sized,