pub fn some<I, O, F>(f: F) -> impl FnMut(I) -> Res<I, Option<O>>where I: ToString + InputLength + InputTake + Compare<&'static str> + InputIter + Clone + InputTakeAtPosition + Offset + Slice<RangeTo<usize>> + Slice<RangeFrom<usize>> + Span, <I as InputTakeAtPosition>::Item: AsChar, <I as InputIter>::Item: AsChar, F: Parser<I, O, SpaceTree<I>> + Clone,