macro_rules! jsv {
(undefined) => { ... };
(null) => { ... };
($v:literal) => { ... };
({}) => { ... };
({ $( $k:tt $(: $v:expr)? ),+ $(,)? }) => { ... };
(@impl set_prop_and_check $obj:ident ($k:tt) : $v:expr ) => { ... };
(@impl set_prop_and_check $obj:ident ($k:tt) ) => { ... };
(@impl resolve_prop_key $k:ident) => { ... };
(@impl resolve_prop_key $k:literal) => { ... };
(@impl resolve_prop_key [$k:expr]) => { ... };
(@impl resolve_prop_key $k:tt) => { ... };
([]) => { ... };
([ $($arr_item:expr),+ $(,)? ]) => { ... };
}