macro_rules! datavalue {
($(vec![$($value:expr),*]),*) => { ... };
($([$($value:expr),*]),*) => { ... };
($($key:expr => $value:expr,)+) => { ... };
($($key:expr => vec![$($value:expr),*]),*) => { ... };
($($key:expr => [$($value:expr),*]),*) => { ... };
($($key:expr => $value:expr),*) => { ... };
($value:expr) => { ... };
}