macro_rules! build_mut_tuple {
    ($context:ident [] -> [$(,)? $($val:ident),*]) => { ... };
    ($context:ident [$val:ident => None, $($tail:tt)*] -> [$($body:tt)*]) => { ... };
    ($context:ident [$val:ident => Some(_), $($tail:tt)*] -> [$($body:tt)*]) => { ... };
}