macro_rules! basic_blocks {
    ($body:ident, mut, true) => { ... };
    ($body:ident, mut, false) => { ... };
    ($body:ident,) => { ... };
}