pub fn alt_4<I: Clone, O, E, F, X1, X2, X3>(
parser_1: impl FnMut(I) -> NomRes<I, O, X1, F>,
parser_2: impl FnMut(I) -> NomRes<I, O, X2, F>,
parser_3: impl FnMut(I) -> NomRes<I, O, X3, F>,
parser: impl FnMut(I) -> NomRes<I, O, E, F>
) -> impl FnMut(I) -> NomRes<I, O, E, F>