macro_rules! dispatch {
(let $var: ident: bool = $val: expr; $($body: tt)*) => { ... };
(let $var: ident: usize = $val: expr; $($body: tt)*) => { ... };
(let $var: ident: Option<$type: ty> = $val: expr; $($body: tt)*) => { ... };
($body: expr) => { ... };
}