pub fn join<I>(vec: I, delim: &str) -> String where I: IntoIterator, I: Sized, I::IntoIter: Iterator<Item = I::Item>, I::Item: Display,