macro_rules! event {
(target : $ target : expr, parent : $ parent : expr, $ lvl : expr,
{ $ ($ fields : tt) * }) => { ... };
(target : $ target : expr, parent : $ parent : expr, $ lvl : expr,
{ $ ($ fields : tt) * }, $ ($ arg : tt) +) => { ... };
(target : $ target : expr, parent : $ parent : expr, $ lvl : expr, $
($ k : ident) . + = $ ($ fields : tt) *) => { ... };
(target : $ target : expr, parent : $ parent : expr, $ lvl : expr, $
($ arg : tt) +) => { ... };
(target : $ target : expr, $ lvl : expr, { $ ($ fields : tt) * }) => { ... };
(target : $ target : expr, $ lvl : expr, { $ ($ fields : tt) * }, $
($ arg : tt) +) => { ... };
(target : $ target : expr, $ lvl : expr, $ ($ k : ident) . + = $
($ fields : tt) *) => { ... };
(target : $ target : expr, $ lvl : expr, $ ($ arg : tt) +) => { ... };
(parent : $ parent : expr, $ lvl : expr, { $ ($ fields : tt) * }, $
($ arg : tt) +) => { ... };
(parent : $ parent : expr, $ lvl : expr, { $ ($ fields : tt) * }, $
($ arg : tt) +) => { ... };
(parent : $ parent : expr, $ lvl : expr, $ ($ k : ident) . + = $
($ field : tt) *) => { ... };
(parent : $ parent : expr, $ lvl : expr, ? $ ($ k : ident) . + = $
($ field : tt) *) => { ... };
(parent : $ parent : expr, $ lvl : expr, % $ ($ k : ident) . + = $
($ field : tt) *) => { ... };
(parent : $ parent : expr, $ lvl : expr, $ ($ k : ident) . +, $ ($ field : tt)
*) => { ... };
(parent : $ parent : expr, $ lvl : expr, % $ ($ k : ident) . +, $
($ field : tt) *) => { ... };
(parent : $ parent : expr, $ lvl : expr, ? $ ($ k : ident) . +, $
($ field : tt) *) => { ... };
(parent : $ parent : expr, $ lvl : expr, $ ($ arg : tt) +) => { ... };
($ lvl : expr, { $ ($ fields : tt) * }, $ ($ arg : tt) +) => { ... };
($ lvl : expr, { $ ($ fields : tt) * }, $ ($ arg : tt) +) => { ... };
($ lvl : expr, $ ($ k : ident) . + = $ ($ field : tt) *) => { ... };
($ lvl : expr, $ ($ k : ident) . +, $ ($ field : tt) *) => { ... };
($ lvl : expr, ? $ ($ k : ident) . +, $ ($ field : tt) *) => { ... };
($ lvl : expr, % $ ($ k : ident) . +, $ ($ field : tt) *) => { ... };
($ lvl : expr, ? $ ($ k : ident) . +) => { ... };
($ lvl : expr, % $ ($ k : ident) . +) => { ... };
($ lvl : expr, $ ($ k : ident) . +) => { ... };
($ lvl : expr, $ ($ arg : tt) +) => { ... };
}