macro_rules! parse_item_fn {
    (
        $([ $($before:tt)* ])?
        {
            $(#$outer_attrs:tt)*
            $vis:vis fn $name:ident
            $($rest:tt)*
        }
        $([ $($after:tt)* ])?
        => $($out_macro_and_bang:tt)+
    ) => { ... };
}