pub fn upgrade_error<I, O, E1: ParseError<I>, E2: ParseError<I>, F>(
    f: F
) -> impl FnMut(I) -> IResult<I, O, E2> where
    F: FnMut(I) -> IResult<I, O, E1>,
    E2: From<E1>, 
Expand description

Apply combinator, automatically converts between errors if the underlying type supports it