pub fn to_string<I: Span, F>(f: F) -> impl FnMut(I) -> Res<I, String>where F: FnMut(I) -> Res<I, I> + Copy,