pub fn some<I, O, E, F>(f: F) -> impl FnMut(I) -> IResult<I, Option<O>, E>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,
E: ContextError<I> + ParseError<I>,
F: Parser<I, O, E> + Clone,