pub fn new_format<I, F>(iter: I, separator: &str, f: F) -> FormatWith<'_, I, F>where I: Iterator, F: FnMut(I::Item, &mut dyn FnMut(&dyn Display) -> Result) -> Result,