pub fn unique_match<I, T>(iter: I, name: &str) -> Result<T, String>where
    I: Iterator<Item = T>,