macro_rules! always_lift_state_weaken_n_internal {
($spec:expr, $p1:expr, $h:expr) => { ... };
($spec:expr, $p1:expr, $p2:expr, $h:expr) => { ... };
($spec:expr, $p1:expr, $p2:expr, $h:expr,) => { ... };
($spec:expr, $p1:expr, $p2:expr, $($tail:expr),+ , $h:expr) => { ... };
($spec:expr, $p1:expr, $p2:expr, $($tail:expr),+ , $h:expr,) => { ... };
}