macro_rules! EXTERN { (extern $c:tt {$( fn $n:ident ($( $p:tt $(: $t:ty)?),* $(,)?) $(-> $r:ty)?; )+}) => { ... }; (extern $c:tt {$( static mut $n:ident : $t:ty; )+}) => { ... }; }