{"ast_node_type":"other","tokens":[{"end":99,"kind":"keyword","start":0,"text":"($($fn_name:ident($Ty:ty$(,$extra_name:ident:"}]}
    ($($fn_name:ident($Ty:ty$(,$extra_name:ident: $ExtraTy:ty)*) => $visit_fn_name:ident;)+) => {$(
macro_rules! generate_walk_flat_map_fns {
        pub fn $fn_name<V: MutVisitor>(vis: &mut V, mut value: $Ty$(,$extra_name: $ExtraTy)*) -> SmallVec<[$Ty; 1]> {