macro_rules! ziplist {
([$($up:expr),*], $focus:expr, [$($down:expr),*]) => { ... };
([$($up:expr),*], $focus:expr) => { ... };
($focus:expr, [$($down:expr),*]) => { ... };
($focus:expr, $($down:expr),+) => { ... };
($focus:expr) => { ... };
}