Macro oma

Source
macro_rules! oma {
    ($head:expr,[$({$($tt:tt)*}),+]) => { ... };
    ($head:expr,[$($i:ident),+]) => { ... };
    ($head:pat,$args:pat) => { ... };
    ($head:expr,I@$($args:tt)*) => { ... };
    (@ARGSITER $mode:ident:$args:expr) => { ... };
    (@ARGSPAT $mode:ident:$p:pat) => { ... };
    (@ARGS $mode:ident:$a:expr) => { ... };
    (@MODE N) => { ... };
}