pub fn tuple2<'a, P1, P2, R1, R2, N: Node, L>(
parser1: P1,
parser2: P2,
) -> impl Fn(ParseInput<'a, N>, &mut StaticState<L>) -> Result<(ParseInput<'a, N>, (R1, R2)), ParseError>where
P1: Fn(ParseInput<'a, N>, &mut StaticState<L>) -> Result<(ParseInput<'a, N>, R1), ParseError>,
P2: Fn(ParseInput<'a, N>, &mut StaticState<L>) -> Result<(ParseInput<'a, N>, R2), ParseError>,
L: FnMut(&NamespacePrefix) -> Result<NamespaceUri, ParseError>,