macro_rules! row {
    () => { ... };
    ( $i:ident, $($tail:tt)* ) => { ... };
    ( $i:ident ) => { ... };
    ( $k:ident: $v:expr ) => { ... };
    ( $k:ident: $v:expr, $($tail:tt)* ) => { ... };
    ( $k:expr => $v:expr ) => { ... };
    ( $k:expr => $v:expr, $($tail:tt)* ) => { ... };
}