macro_rules! impl_marker {
(@para_rec
[$tra1t:ty, ($($clause:tt)+), ($($type_constr:tt)*)]
(< $($params:tt)*)
) => { ... };
(@para_rec
[$tra1t:ty, ($($clause:tt)+), ($($prev:tt)*)]
($cur:tt $($rest:tt)*)
) => { ... };
(@where_rec
[$tra1t:ty, ($($typ3:tt)+), ($($clause:tt)+)]
($(;)*)
) => { ... };
(@where_rec
[$tra1t:ty, ($($typ3:tt)+), ($($clause:tt)+)]
(; $($rest:tt)+)
) => { ... };
(@where_rec
[$tra1t:ty, ($($typ3:tt)+), ($($prev:tt)*)]
($cur:tt $($rest:tt)*)
) => { ... };
(@rec
[$tra1t:ty, ($($typ3:tt)*)]
($(;)*)
) => { ... };
(@rec
[$tra1t:ty, ($($typ3:tt)*)]
(; $($rest:tt)+)
) => { ... };
(@rec
[$tra1t:ty, ($($prev:tt)+)]
(where $($rest:tt)+)
) => { ... };
(@rec
[$tra1t:ty, ($($prev:tt)*)]
($cur:tt $($rest:tt)*)
) => { ... };
($tra1t:ty; $($rest:tt)+) => { ... };
}