macro_rules! strings {
    ([$($acc:expr),*] []) => { ... };
    ([$($acc:expr),*] [$_sym:ident: $string:literal, $($rest:tt)*]) => { ... };
    ([$($acc:expr),*] [$sym:ident, $($rest:tt)*]) => { ... };
    ([$($acc:expr),*] [$_sym:ident: $string:literal $(,)?]) => { ... };
    ([$($acc:expr),*] [$sym:ident $(,)?]) => { ... };
}Expand description
A helper for symbols defined below.
The macro’s job is to merge all the hard-coded strings into a single array of strings.
The strategy applied is push-down accumulation.