pub fn any<'a, A, I: Clone>(parsers: &'a mut [impl Parser<A, I>]) -> impl Parser<A, I> + 'a {
    move |input: I| {
        parsers
            .iter_mut()
            .find_map(|parser| parser.parse(input.clone()))
    }
}
/// Tries every parser in a slice, from left to right, and returns the output of the first succeeding one.
Tries every parser in a slice, from left to right, and returns the output of the first succeeding one.
Tries every parser in a slice from left to right and returns the output of the first succeeding one .
pub fn any<'a, A, I: Clone>(parsers: &'a mut [impl Parser<A, I>]) -> impl Parser<A, I> + 'a {
    move |input: I| {
        parsers
            .iter_mut()
            .find_map(|parser| parser.parse(input.clone()))
    }
}
pub fn any < ' a , A , I : Clone > ( parsers : & ' a mut [ impl Parser < A , I > ] ) -> impl Parser < A , I > + ' a { move | input : I | { parsers . iter_mut ( ) . find_map ( | parser | parser . parse ( input . clone ( ) ) ) } }
Tries every parser in a slice, from left to right, and returns the output of the first succeeding one.
Tries every parser in a slice from left to right and returns the output of the first succeeding one .
parsers
&'a mut [impl Parser<A, I>]