macro_rules! load { (raw $name: literal, $scale:expr) => { ... }; ($name:literal, $scale:expr) => { ... }; ($name: literal) => { ... }; (from $v:ident which is [$($k:literal $(|)?)+], $scale: ident) => { ... }; ($scale:ident -> match $v:ident { $($k:pat => $nam:literal $(,)?)+ }) => { ... }; (concat $x:literal => $v:ident which is [$($k:literal $(|)?)+], $scale: ident) => { ... }; }