macro_rules! morestuff {
    (
        <= "space between most kinds of tokens" : 1 $x:ident + @ :: >>=
        'static "no space inside paren or bracket" : (2 a) [2 a] $(2 $a:tt)*
        "space inside curly brace" : { 2 a }
        "no space inside empty delimiters" : () [] {}
        "no space before comma or semicolon" : a, (a), { a }, a; [T; 0];
        "the three repetition specifiers" : $(@)*, $(@)+, $(@)?
        "repetition separators" : $(@)|*, $(@)|+, $(@)==*, $(@)static*
        "plus or star cannot be a repetition separator" : $(@)+ * $(@)* +
        "no space between ident and paren" : let _ = f(0) + f[0] + Struct {};
        "space between keyword and paren" : return (a,) & for x in (..)
        "some special case keywords" : pub(crate), fn() -> u8, Self(0, 0) =>
    ) => { ... };
}