Macro rev

Source
macro_rules! rev {
    (@rev [$first:tt$(, $rest:tt)*] [$($rev:tt),*]) => { ... };
    (@rev [] [$($rev:tt),*]) => { ... };
    ($($tt:tt)+) => { ... };
}