macro_rules! let_parse_all_mut { ( mut $var:ident $(: $ty:ty)? = $expr:expr $(; $( $let_stmts:tt )+ )? ) => { ... }; ( $var:ident $(: $ty:ty)? = $expr:expr $(; $( $let_stmts:tt )+ )? ) => { ... }; ( $var:pat = $expr:expr , else { $( $else_code:tt )* } $(; $( $let_stmts:tt )+ )? ) => { ... }; ( $var:pat = $expr:expr $(; $( $let_stmts:tt )+ )? ) => { ... }; () => { ... }; }