macro_rules! iterator { ( struct $name:ident -> $ptr:ty, $elem:ty, $raw_mut:tt, {$( $mut_:tt )?}, {$($extra:tt)*} ) => { ... }; }