macro_rules! msig {
($func: expr, $cond1: expr, $cond2: expr) => { ... };
($func: expr, $cond1: expr, $cond2: expr, $cond3: expr) => { ... };
($func: expr, $cond1: expr, $cond2: expr, $cond3: expr, $cond4: expr) => { ... };
}macro_rules! msig {
($func: expr, $cond1: expr, $cond2: expr) => { ... };
($func: expr, $cond1: expr, $cond2: expr, $cond3: expr) => { ... };
($func: expr, $cond1: expr, $cond2: expr, $cond3: expr, $cond4: expr) => { ... };
}