macro_rules! arg {
(any) => { ... };
(null) => { ... };
(string) => { ... };
(bool) => { ... };
(number) => { ... };
(object) => { ... };
(expref) => { ... };
(array_number) => { ... };
(array_string) => { ... };
(array) => { ... };
($($x:ident) | *) => { ... };
}