macro_rules! quick_derive {
    (@inner $input:expr, |$ast:ident| $expr:expr) => { ... };
    ($input:expr, ($($path:tt)*), trait $($trait:tt)*) => { ... };
    ($input:expr, $super:ident, ($($path:tt)*), trait $($trait:tt)*) => { ... };
    ($input:expr, trait $($trait:tt)*) => { ... };
    ($input:expr, $super:ident, trait $($trait:tt)*) => { ... };
}