macro_rules! impl_add_sub_rem { ($struct:ident, [$($im:ident),*]$(, [$($dim:tt),*]$(, [$($ddim:tt),*])*)?) => { ... }; }