pub fn alt4<P1, P2, P3, P4, A>(
parser1: P1,
parser2: P2,
parser3: P3,
parser4: P4
) -> impl Fn(ParseInput<'_>) -> ParseResult<'_, A>where
P1: Fn(ParseInput<'_>) -> ParseResult<'_, A>,
P2: Fn(ParseInput<'_>) -> ParseResult<'_, A>,
P3: Fn(ParseInput<'_>) -> ParseResult<'_, A>,
P4: Fn(ParseInput<'_>) -> ParseResult<'_, A>,