macro_rules! do_parse_sep {
(__impl $i:expr, $separator:ident, $consumed:expr, ( $($rest:expr),* )) => { ... };
(__impl $i:expr, $separator:ident, $consumed:expr, $e:ident >> $($rest:tt)*) => { ... };
(__impl $i:expr, $separator:ident, $consumed:expr, $submac:ident!( $($args:tt)* ) >> $($rest:tt)*) => { ... };
(__impl $i:expr, $separator:ident, $consumed:expr, $field:ident : $e:ident >> $($rest:tt)*) => { ... };
(__impl $i:expr, $separator:ident, $consumed:expr, $field:ident : $submac:ident!( $($args:tt)* ) >> $($rest:tt)*) => { ... };
(__impl $i:expr, $separator:ident, $consumed:expr, $e:ident >> ( $($rest:tt)* )) => { ... };
(__impl $i:expr, $separator:ident, $consumed:expr, $submac:ident!( $($args:tt)* ) >> ( $($rest:tt)* )) => { ... };
(__impl $i:expr, $separator:ident, $consumed:expr, $field:ident : $e:ident >> ( $($rest:tt)* )) => { ... };
(__impl $i:expr, $separator:ident, $consumed:expr, $field:ident : $submac:ident!( $($args:tt)* ) >> ( $($rest:tt)* )) => { ... };
($i:expr, $separator:ident, $($rest:tt)*) => { ... };
}