nom
macro_rules! pair { ($i:expr, $submac:ident!( $($args:tt)* ), $submac2:ident!( $($args2:tt)* )) => { ... }; ($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => { ... }; ($i:expr, $f:expr, $submac:ident!( $($args:tt)* )) => { ... }; ($i:expr, $f:expr, $g:expr) => { ... }; }
pair!(I -> IResult<I,O>, I -> IResult<I,P>) => I -> IResult<I, (O,P)> pair(X,Y), returns (x,y)
pair!(I -> IResult<I,O>, I -> IResult<I,P>) => I -> IResult<I, (O,P)>