macro_rules! type_def {
(unknown) => { ... };
(bytes) => { ... };
(object {$(unknown => $unknown:expr_2021,)? $($key:literal => $value:expr_2021,)+ }) => { ... };
(array [ $($value:expr_2021,)+ ]) => { ... };
(array { $(unknown => $unknown:expr_2021,)? $($idx:literal => $value:expr_2021,)+ }) => { ... };
(array) => { ... };
}