Macro unzip
Source macro_rules! unzip {
(let ($($oap:pat_param),* $(,)?) = $($unzip_arg:tt)*) => { ... };
(@parse_unzip_arg [map!($($map_args:tt)*)] $($rest:tt)*) => { ... };
(@parse_unzip_arg [$iae:expr] [$(($oap:pat_param, $oa:ident, $oi:ident))*]) => { ... };
(@parse_map_body [{ $($body:tt)* }] $($rest:tt)*) => { ... };
(@parse_map_body [($($oie:expr),* $(,)?)] $i:tt [$(($oap:pat_param, $oa:ident, $oi:ident))*]) => { ... };
(@parse_map_body [$body:expr] $i:tt [$(($oap:pat_param, $oa:ident, $oi:ident))*]) => { ... };
(@parse_map_body_block [] [$($body:tt)*] $i:tt [$(($oap:pat_param, $oa:ident, $oi:ident))*]) => { ... };
(@parse_map_body_block [($($oie:expr),* $(,)?)] [$($body:tt)*] $i:tt [$(($oap:pat_param, $oa:ident, $oi:ident))*]) => { ... };
(@parse_map_body_block [$head:tt $($tail:tt)*] [$($body:tt)*] $($rest:tt)*) => { ... };
(@expand [$($body:tt)*] [$(($iae:expr, $iip:pat_param, $ia:ident))*] [$(($oap:pat_param, $oa:ident, $oie:expr))*]) => { ... };
}