pub fn sub<I: Span, O, F>(f: F) -> impl FnMut(I) -> Res<I, Spanned<I, O>>where F: Parser<I, O, SpaceTree<I>>, O: Clone,