fn fold_separated<I: Clone, OS, O, E>( sep: impl Parser<I, Output = OS, Error = E>, f: impl Parser<I, Output = O, Error = E>, acc: impl FnMut(O, O) -> O, ) -> impl FnMut(I) -> IResult<I, O, E>