Fix clippy lints
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index 83120ab..9777dc7 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -420,33 +420,33 @@
 
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_abi<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Abi) {
-    tokens_helper(_visitor, &(& _i . extern_token).0);
+    tokens_helper(_visitor, &(_i . extern_token).0);
     if let Some(ref it) = _i . name { _visitor.visit_lit_str(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_angle_bracketed_generic_arguments<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast AngleBracketedGenericArguments) {
     if let Some(ref it) = _i . colon2_token { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . lt_token).0);
+    tokens_helper(_visitor, &(_i . lt_token).0);
     for el in Punctuated::pairs(& _i . args) { let it = el.value(); _visitor.visit_generic_argument(it) };
-    tokens_helper(_visitor, &(& _i . gt_token).0);
+    tokens_helper(_visitor, &(_i . gt_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_arg_captured<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ArgCaptured) {
     _visitor.visit_pat(& _i . pat);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     _visitor.visit_type(& _i . ty);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_arg_self<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ArgSelf) {
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . self_token).0);
+    tokens_helper(_visitor, &(_i . self_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_arg_self_ref<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ArgSelfRef) {
-    tokens_helper(_visitor, &(& _i . and_token).0);
+    tokens_helper(_visitor, &(_i . and_token).0);
     if let Some(ref it) = _i . lifetime { _visitor.visit_lifetime(it) };
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . self_token).0);
+    tokens_helper(_visitor, &(_i . self_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_arm<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Arm) {
@@ -454,10 +454,10 @@
     if let Some(ref it) = _i . leading_vert { tokens_helper(_visitor, &(it).0) };
     for el in Punctuated::pairs(& _i . pats) { let it = el.value(); _visitor.visit_pat(it) };
     if let Some(ref it) = _i . guard { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_expr(& * ( it ) . 1);
          };
-    tokens_helper(_visitor, &(& _i . fat_arrow_token).0);
+    tokens_helper(_visitor, &(_i . fat_arrow_token).0);
     _visitor.visit_expr(& * _i . body);
     if let Some(ref it) = _i . comma { tokens_helper(_visitor, &(it).0) };
 }
@@ -472,9 +472,9 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_attribute<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Attribute) {
-    tokens_helper(_visitor, &(& _i . pound_token).0);
+    tokens_helper(_visitor, &(_i . pound_token).0);
     _visitor.visit_attr_style(& _i . style);
-    tokens_helper(_visitor, &(& _i . bracket_token).0);
+    tokens_helper(_visitor, &(_i . bracket_token).0);
     _visitor.visit_path(& _i . path);
     // Skipped field _i . tts;
     // Skipped field _i . is_sugared_doc;
@@ -483,7 +483,7 @@
 pub fn visit_bare_fn_arg<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BareFnArg) {
     if let Some(ref it) = _i . name { 
             _visitor.visit_bare_fn_arg_name(& ( it ) . 0);
-            tokens_helper(_visitor, &(& ( it ) . 1).0);
+            tokens_helper(_visitor, &(( it ) . 1).0);
          };
     _visitor.visit_type(& _i . ty);
 }
@@ -590,27 +590,27 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_binding<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Binding) {
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_type(& _i . ty);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_block<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Block) {
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for it in & _i . stmts { _visitor.visit_stmt(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_bound_lifetimes<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BoundLifetimes) {
-    tokens_helper(_visitor, &(& _i . for_token).0);
-    tokens_helper(_visitor, &(& _i . lt_token).0);
+    tokens_helper(_visitor, &(_i . for_token).0);
+    tokens_helper(_visitor, &(_i . lt_token).0);
     for el in Punctuated::pairs(& _i . lifetimes) { let it = el.value(); _visitor.visit_lifetime_def(it) };
-    tokens_helper(_visitor, &(& _i . gt_token).0);
+    tokens_helper(_visitor, &(_i . gt_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_const_param<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ConstParam) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . const_token).0);
+    tokens_helper(_visitor, &(_i . const_token).0);
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     _visitor.visit_type(& _i . ty);
     if let Some(ref it) = _i . eq_token { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . default { _visitor.visit_expr(it) };
@@ -631,19 +631,19 @@
 }
 # [ cfg ( feature = "derive" ) ]
 pub fn visit_data_enum<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast DataEnum) {
-    tokens_helper(_visitor, &(& _i . enum_token).0);
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . enum_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for el in Punctuated::pairs(& _i . variants) { let it = el.value(); _visitor.visit_variant(it) };
 }
 # [ cfg ( feature = "derive" ) ]
 pub fn visit_data_struct<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast DataStruct) {
-    tokens_helper(_visitor, &(& _i . struct_token).0);
+    tokens_helper(_visitor, &(_i . struct_token).0);
     _visitor.visit_fields(& _i . fields);
     if let Some(ref it) = _i . semi_token { tokens_helper(_visitor, &(it).0) };
 }
 # [ cfg ( feature = "derive" ) ]
 pub fn visit_data_union<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast DataUnion) {
-    tokens_helper(_visitor, &(& _i . union_token).0);
+    tokens_helper(_visitor, &(_i . union_token).0);
     _visitor.visit_fields_named(& _i . fields);
 }
 # [ cfg ( feature = "derive" ) ]
@@ -782,14 +782,14 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_array<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprArray) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . bracket_token).0);
+    tokens_helper(_visitor, &(_i . bracket_token).0);
     for el in Punctuated::pairs(& _i . elems) { let it = el.value(); _visitor.visit_expr(it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_assign<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprAssign) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . left);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_expr(& * _i . right);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -814,13 +814,13 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_box<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprBox) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . box_token).0);
+    tokens_helper(_visitor, &(_i . box_token).0);
     _visitor.visit_expr(& * _i . expr);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_break<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprBreak) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . break_token).0);
+    tokens_helper(_visitor, &(_i . break_token).0);
     if let Some(ref it) = _i . label { _visitor.visit_lifetime(it) };
     if let Some(ref it) = _i . expr { _visitor.visit_expr(& * * it) };
 }
@@ -828,21 +828,21 @@
 pub fn visit_expr_call<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprCall) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . func);
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . args) { let it = el.value(); _visitor.visit_expr(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_cast<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprCast) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . expr);
-    tokens_helper(_visitor, &(& _i . as_token).0);
+    tokens_helper(_visitor, &(_i . as_token).0);
     _visitor.visit_type(& * _i . ty);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_catch<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprCatch) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . do_token).0);
-    tokens_helper(_visitor, &(& _i . catch_token).0);
+    tokens_helper(_visitor, &(_i . do_token).0);
+    tokens_helper(_visitor, &(_i . catch_token).0);
     _visitor.visit_block(& _i . block);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -850,63 +850,63 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     if let Some(ref it) = _i . movability { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . capture { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . or1_token).0);
+    tokens_helper(_visitor, &(_i . or1_token).0);
     for el in Punctuated::pairs(& _i . inputs) { let it = el.value(); _visitor.visit_fn_arg(it) };
-    tokens_helper(_visitor, &(& _i . or2_token).0);
+    tokens_helper(_visitor, &(_i . or2_token).0);
     _visitor.visit_return_type(& _i . output);
     _visitor.visit_expr(& * _i . body);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_continue<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprContinue) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . continue_token).0);
+    tokens_helper(_visitor, &(_i . continue_token).0);
     if let Some(ref it) = _i . label { _visitor.visit_lifetime(it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_field<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprField) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . base);
-    tokens_helper(_visitor, &(& _i . dot_token).0);
+    tokens_helper(_visitor, &(_i . dot_token).0);
     _visitor.visit_member(& _i . member);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_for_loop<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprForLoop) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     if let Some(ref it) = _i . label { _visitor.visit_label(it) };
-    tokens_helper(_visitor, &(& _i . for_token).0);
+    tokens_helper(_visitor, &(_i . for_token).0);
     _visitor.visit_pat(& * _i . pat);
-    tokens_helper(_visitor, &(& _i . in_token).0);
+    tokens_helper(_visitor, &(_i . in_token).0);
     _visitor.visit_expr(& * _i . expr);
     _visitor.visit_block(& _i . body);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_group<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprGroup) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . group_token).0);
+    tokens_helper(_visitor, &(_i . group_token).0);
     _visitor.visit_expr(& * _i . expr);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_if<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIf) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . if_token).0);
+    tokens_helper(_visitor, &(_i . if_token).0);
     _visitor.visit_expr(& * _i . cond);
     _visitor.visit_block(& _i . then_branch);
     if let Some(ref it) = _i . else_branch { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_expr(& * ( it ) . 1);
          };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_if_let<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIfLet) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . if_token).0);
-    tokens_helper(_visitor, &(& _i . let_token).0);
+    tokens_helper(_visitor, &(_i . if_token).0);
+    tokens_helper(_visitor, &(_i . let_token).0);
     for el in Punctuated::pairs(& _i . pats) { let it = el.value(); _visitor.visit_pat(it) };
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_expr(& * _i . expr);
     _visitor.visit_block(& _i . then_branch);
     if let Some(ref it) = _i . else_branch { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_expr(& * ( it ) . 1);
          };
 }
@@ -914,14 +914,14 @@
 pub fn visit_expr_in_place<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprInPlace) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . place);
-    tokens_helper(_visitor, &(& _i . arrow_token).0);
+    tokens_helper(_visitor, &(_i . arrow_token).0);
     _visitor.visit_expr(& * _i . value);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_index<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIndex) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . expr);
-    tokens_helper(_visitor, &(& _i . bracket_token).0);
+    tokens_helper(_visitor, &(_i . bracket_token).0);
     _visitor.visit_expr(& * _i . index);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -933,7 +933,7 @@
 pub fn visit_expr_loop<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprLoop) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     if let Some(ref it) = _i . label { _visitor.visit_label(it) };
-    tokens_helper(_visitor, &(& _i . loop_token).0);
+    tokens_helper(_visitor, &(_i . loop_token).0);
     _visitor.visit_block(& _i . body);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -944,25 +944,25 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_match<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprMatch) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . match_token).0);
+    tokens_helper(_visitor, &(_i . match_token).0);
     _visitor.visit_expr(& * _i . expr);
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for it in & _i . arms { _visitor.visit_arm(it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_method_call<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprMethodCall) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . receiver);
-    tokens_helper(_visitor, &(& _i . dot_token).0);
+    tokens_helper(_visitor, &(_i . dot_token).0);
     _visitor.visit_ident(& _i . method);
     if let Some(ref it) = _i . turbofish { _visitor.visit_method_turbofish(it) };
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . args) { let it = el.value(); _visitor.visit_expr(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_paren<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprParen) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     _visitor.visit_expr(& * _i . expr);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -981,29 +981,29 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_reference<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprReference) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . and_token).0);
+    tokens_helper(_visitor, &(_i . and_token).0);
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_expr(& * _i . expr);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_repeat<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprRepeat) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . bracket_token).0);
+    tokens_helper(_visitor, &(_i . bracket_token).0);
     _visitor.visit_expr(& * _i . expr);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
     _visitor.visit_expr(& * _i . len);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_return<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprReturn) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . return_token).0);
+    tokens_helper(_visitor, &(_i . return_token).0);
     if let Some(ref it) = _i . expr { _visitor.visit_expr(& * * it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_struct<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprStruct) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_path(& _i . path);
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for el in Punctuated::pairs(& _i . fields) { let it = el.value(); _visitor.visit_field_value(it) };
     if let Some(ref it) = _i . dot2_token { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . rest { _visitor.visit_expr(& * * it) };
@@ -1012,19 +1012,19 @@
 pub fn visit_expr_try<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprTry) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . expr);
-    tokens_helper(_visitor, &(& _i . question_token).0);
+    tokens_helper(_visitor, &(_i . question_token).0);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_tuple<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprTuple) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . elems) { let it = el.value(); _visitor.visit_expr(it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_type<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprType) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_expr(& * _i . expr);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     _visitor.visit_type(& * _i . ty);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1036,7 +1036,7 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_unsafe<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprUnsafe) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . unsafe_token).0);
+    tokens_helper(_visitor, &(_i . unsafe_token).0);
     _visitor.visit_block(& _i . block);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1047,7 +1047,7 @@
 pub fn visit_expr_while<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprWhile) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     if let Some(ref it) = _i . label { _visitor.visit_label(it) };
-    tokens_helper(_visitor, &(& _i . while_token).0);
+    tokens_helper(_visitor, &(_i . while_token).0);
     _visitor.visit_expr(& * _i . cond);
     _visitor.visit_block(& _i . body);
 }
@@ -1055,17 +1055,17 @@
 pub fn visit_expr_while_let<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprWhileLet) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     if let Some(ref it) = _i . label { _visitor.visit_label(it) };
-    tokens_helper(_visitor, &(& _i . while_token).0);
-    tokens_helper(_visitor, &(& _i . let_token).0);
+    tokens_helper(_visitor, &(_i . while_token).0);
+    tokens_helper(_visitor, &(_i . let_token).0);
     for el in Punctuated::pairs(& _i . pats) { let it = el.value(); _visitor.visit_pat(it) };
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_expr(& * _i . expr);
     _visitor.visit_block(& _i . body);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_yield<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprYield) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . yield_token).0);
+    tokens_helper(_visitor, &(_i . yield_token).0);
     if let Some(ref it) = _i . expr { _visitor.visit_expr(& * * it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1104,12 +1104,12 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_fields_named<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FieldsNamed) {
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for el in Punctuated::pairs(& _i . named) { let it = el.value(); _visitor.visit_field(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_fields_unnamed<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FieldsUnnamed) {
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . unnamed) { let it = el.value(); _visitor.visit_field(it) };
 }
 # [ cfg ( feature = "full" ) ]
@@ -1140,9 +1140,9 @@
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_fn_decl<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FnDecl) {
-    tokens_helper(_visitor, &(& _i . fn_token).0);
+    tokens_helper(_visitor, &(_i . fn_token).0);
     _visitor.visit_generics(& _i . generics);
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . inputs) { let it = el.value(); _visitor.visit_fn_arg(it) };
     if let Some(ref it) = _i . variadic { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_return_type(& _i . output);
@@ -1170,26 +1170,26 @@
     _visitor.visit_visibility(& _i . vis);
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_fn_decl(& * _i . decl);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_foreign_item_static<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ForeignItemStatic) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . static_token).0);
+    tokens_helper(_visitor, &(_i . static_token).0);
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     _visitor.visit_type(& * _i . ty);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_foreign_item_type<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ForeignItemType) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . type_token).0);
+    tokens_helper(_visitor, &(_i . type_token).0);
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_foreign_item_verbatim<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ForeignItemVerbatim) {
@@ -1272,13 +1272,13 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     if let Some(ref it) = _i . defaultness { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . const_token).0);
+    tokens_helper(_visitor, &(_i . const_token).0);
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     _visitor.visit_type(& _i . ty);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_expr(& _i . expr);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_impl_item_macro<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplItemMacro) {
@@ -1299,12 +1299,12 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
     if let Some(ref it) = _i . defaultness { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . type_token).0);
+    tokens_helper(_visitor, &(_i . type_token).0);
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_generics(& _i . generics);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_type(& _i . ty);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_impl_item_verbatim<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplItemVerbatim) {
@@ -1372,36 +1372,36 @@
 pub fn visit_item_const<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemConst) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . const_token).0);
+    tokens_helper(_visitor, &(_i . const_token).0);
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     _visitor.visit_type(& * _i . ty);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_expr(& * _i . expr);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_enum<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemEnum) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . enum_token).0);
+    tokens_helper(_visitor, &(_i . enum_token).0);
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_generics(& _i . generics);
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for el in Punctuated::pairs(& _i . variants) { let it = el.value(); _visitor.visit_variant(it) };
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_extern_crate<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemExternCrate) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . extern_token).0);
-    tokens_helper(_visitor, &(& _i . crate_token).0);
+    tokens_helper(_visitor, &(_i . extern_token).0);
+    tokens_helper(_visitor, &(_i . crate_token).0);
     _visitor.visit_ident(& _i . ident);
     if let Some(ref it) = _i . rename { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_ident(& ( it ) . 1);
          };
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_fn<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemFn) {
@@ -1418,7 +1418,7 @@
 pub fn visit_item_foreign_mod<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemForeignMod) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_abi(& _i . abi);
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for it in & _i . items { _visitor.visit_foreign_item(it) };
 }
 # [ cfg ( feature = "full" ) ]
@@ -1426,15 +1426,15 @@
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     if let Some(ref it) = _i . defaultness { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . unsafety { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . impl_token).0);
+    tokens_helper(_visitor, &(_i . impl_token).0);
     _visitor.visit_generics(& _i . generics);
     if let Some(ref it) = _i . trait_ { 
             if let Some(ref it) = ( it ) . 0 { tokens_helper(_visitor, &(it).0) };
             _visitor.visit_path(& ( it ) . 1);
-            tokens_helper(_visitor, &(& ( it ) . 2).0);
+            tokens_helper(_visitor, &(( it ) . 2).0);
          };
     _visitor.visit_type(& * _i . self_ty);
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for it in & _i . items { _visitor.visit_impl_item(it) };
 }
 # [ cfg ( feature = "full" ) ]
@@ -1448,21 +1448,21 @@
 pub fn visit_item_macro2<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemMacro2) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . macro_token).0);
+    tokens_helper(_visitor, &(_i . macro_token).0);
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     // Skipped field _i . args;
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     // Skipped field _i . body;
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_mod<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemMod) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . mod_token).0);
+    tokens_helper(_visitor, &(_i . mod_token).0);
     _visitor.visit_ident(& _i . ident);
     if let Some(ref it) = _i . content { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             for it in & ( it ) . 1 { _visitor.visit_item(it) };
          };
     if let Some(ref it) = _i . semi { tokens_helper(_visitor, &(it).0) };
@@ -1471,20 +1471,20 @@
 pub fn visit_item_static<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemStatic) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . static_token).0);
+    tokens_helper(_visitor, &(_i . static_token).0);
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     _visitor.visit_type(& * _i . ty);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_expr(& * _i . expr);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_struct<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemStruct) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . struct_token).0);
+    tokens_helper(_visitor, &(_i . struct_token).0);
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_generics(& _i . generics);
     _visitor.visit_fields(& _i . fields);
@@ -1496,30 +1496,30 @@
     _visitor.visit_visibility(& _i . vis);
     if let Some(ref it) = _i . unsafety { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . auto_token { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . trait_token).0);
+    tokens_helper(_visitor, &(_i . trait_token).0);
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_generics(& _i . generics);
     if let Some(ref it) = _i . colon_token { tokens_helper(_visitor, &(it).0) };
     for el in Punctuated::pairs(& _i . supertraits) { let it = el.value(); _visitor.visit_type_param_bound(it) };
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for it in & _i . items { _visitor.visit_trait_item(it) };
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_type<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemType) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . type_token).0);
+    tokens_helper(_visitor, &(_i . type_token).0);
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_generics(& _i . generics);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_type(& * _i . ty);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_union<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemUnion) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . union_token).0);
+    tokens_helper(_visitor, &(_i . union_token).0);
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_generics(& _i . generics);
     _visitor.visit_fields_named(& _i . fields);
@@ -1528,10 +1528,10 @@
 pub fn visit_item_use<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemUse) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
     _visitor.visit_visibility(& _i . vis);
-    tokens_helper(_visitor, &(& _i . use_token).0);
+    tokens_helper(_visitor, &(_i . use_token).0);
     if let Some(ref it) = _i . leading_colon { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_use_tree(& _i . tree);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_verbatim<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemVerbatim) {
@@ -1540,7 +1540,7 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_label<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Label) {
     _visitor.visit_lifetime(& _i . name);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_lifetime<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Lifetime) {
@@ -1619,22 +1619,22 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_local<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Local) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . let_token).0);
+    tokens_helper(_visitor, &(_i . let_token).0);
     for el in Punctuated::pairs(& _i . pats) { let it = el.value(); _visitor.visit_pat(it) };
     if let Some(ref it) = _i . ty { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_type(& * ( it ) . 1);
          };
     if let Some(ref it) = _i . init { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_expr(& * ( it ) . 1);
          };
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_macro<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Macro) {
     _visitor.visit_path(& _i . path);
-    tokens_helper(_visitor, &(& _i . bang_token).0);
+    tokens_helper(_visitor, &(_i . bang_token).0);
     _visitor.visit_macro_delimiter(& _i . delimiter);
     // Skipped field _i . tts;
 }
@@ -1680,13 +1680,13 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_meta_list<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MetaList) {
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . nested) { let it = el.value(); _visitor.visit_nested_meta(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_meta_name_value<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MetaNameValue) {
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_lit(& _i . lit);
 }
 # [ cfg ( feature = "full" ) ]
@@ -1699,10 +1699,10 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_method_turbofish<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MethodTurbofish) {
-    tokens_helper(_visitor, &(& _i . colon2_token).0);
-    tokens_helper(_visitor, &(& _i . lt_token).0);
+    tokens_helper(_visitor, &(_i . colon2_token).0);
+    tokens_helper(_visitor, &(_i . lt_token).0);
     for el in Punctuated::pairs(& _i . args) { let it = el.value(); _visitor.visit_generic_method_argument(it) };
-    tokens_helper(_visitor, &(& _i . gt_token).0);
+    tokens_helper(_visitor, &(_i . gt_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_nested_meta<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast NestedMeta) {
@@ -1717,7 +1717,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_parenthesized_generic_arguments<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ParenthesizedGenericArguments) {
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . inputs) { let it = el.value(); _visitor.visit_type(it) };
     _visitor.visit_return_type(& _i . output);
 }
@@ -1767,7 +1767,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_box<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatBox) {
-    tokens_helper(_visitor, &(& _i . box_token).0);
+    tokens_helper(_visitor, &(_i . box_token).0);
     _visitor.visit_pat(& * _i . pat);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
@@ -1776,7 +1776,7 @@
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_ident(& _i . ident);
     if let Some(ref it) = _i . subpat { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_pat(& * ( it ) . 1);
          };
 }
@@ -1801,13 +1801,13 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_ref<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatRef) {
-    tokens_helper(_visitor, &(& _i . and_token).0);
+    tokens_helper(_visitor, &(_i . and_token).0);
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_pat(& * _i . pat);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_slice<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatSlice) {
-    tokens_helper(_visitor, &(& _i . bracket_token).0);
+    tokens_helper(_visitor, &(_i . bracket_token).0);
     for el in Punctuated::pairs(& _i . front) { let it = el.value(); _visitor.visit_pat(it) };
     if let Some(ref it) = _i . middle { _visitor.visit_pat(& * * it) };
     if let Some(ref it) = _i . dot2_token { tokens_helper(_visitor, &(it).0) };
@@ -1817,13 +1817,13 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_struct<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatStruct) {
     _visitor.visit_path(& _i . path);
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for el in Punctuated::pairs(& _i . fields) { let it = el.value(); _visitor.visit_field_pat(it) };
     if let Some(ref it) = _i . dot2_token { tokens_helper(_visitor, &(it).0) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_tuple<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatTuple) {
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . front) { let it = el.value(); _visitor.visit_pat(it) };
     if let Some(ref it) = _i . dot2_token { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . comma_token { tokens_helper(_visitor, &(it).0) };
@@ -1840,7 +1840,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_wild<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatWild) {
-    tokens_helper(_visitor, &(& _i . underscore_token).0);
+    tokens_helper(_visitor, &(_i . underscore_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_path<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Path) {
@@ -1867,7 +1867,7 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_predicate_eq<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PredicateEq) {
     _visitor.visit_type(& _i . lhs_ty);
-    tokens_helper(_visitor, &(& _i . eq_token).0);
+    tokens_helper(_visitor, &(_i . eq_token).0);
     _visitor.visit_type(& _i . rhs_ty);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1880,16 +1880,16 @@
 pub fn visit_predicate_type<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PredicateType) {
     if let Some(ref it) = _i . lifetimes { _visitor.visit_bound_lifetimes(it) };
     _visitor.visit_type(& _i . bounded_ty);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     for el in Punctuated::pairs(& _i . bounds) { let it = el.value(); _visitor.visit_type_param_bound(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_qself<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast QSelf) {
-    tokens_helper(_visitor, &(& _i . lt_token).0);
+    tokens_helper(_visitor, &(_i . lt_token).0);
     _visitor.visit_type(& * _i . ty);
     // Skipped field _i . position;
     if let Some(ref it) = _i . as_token { tokens_helper(_visitor, &(it).0) };
-    tokens_helper(_visitor, &(& _i . gt_token).0);
+    tokens_helper(_visitor, &(_i . gt_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_range_limits<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast RangeLimits) {
@@ -1972,15 +1972,15 @@
 # [ cfg ( feature = "full" ) ]
 pub fn visit_trait_item_const<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemConst) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . const_token).0);
+    tokens_helper(_visitor, &(_i . const_token).0);
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . colon_token).0);
+    tokens_helper(_visitor, &(_i . colon_token).0);
     _visitor.visit_type(& _i . ty);
     if let Some(ref it) = _i . default { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_expr(& ( it ) . 1);
          };
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_trait_item_macro<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemMacro) {
@@ -1998,16 +1998,16 @@
 # [ cfg ( feature = "full" ) ]
 pub fn visit_trait_item_type<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemType) {
     for it in & _i . attrs { _visitor.visit_attribute(it) };
-    tokens_helper(_visitor, &(& _i . type_token).0);
+    tokens_helper(_visitor, &(_i . type_token).0);
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_generics(& _i . generics);
     if let Some(ref it) = _i . colon_token { tokens_helper(_visitor, &(it).0) };
     for el in Punctuated::pairs(& _i . bounds) { let it = el.value(); _visitor.visit_type_param_bound(it) };
     if let Some(ref it) = _i . default { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_type(& ( it ) . 1);
          };
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_trait_item_verbatim<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemVerbatim) {
@@ -2065,35 +2065,35 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_array<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeArray) {
-    tokens_helper(_visitor, &(& _i . bracket_token).0);
+    tokens_helper(_visitor, &(_i . bracket_token).0);
     _visitor.visit_type(& * _i . elem);
-    tokens_helper(_visitor, &(& _i . semi_token).0);
+    tokens_helper(_visitor, &(_i . semi_token).0);
     _visitor.visit_expr(& _i . len);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_bare_fn<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeBareFn) {
     if let Some(ref it) = _i . unsafety { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . abi { _visitor.visit_abi(it) };
-    tokens_helper(_visitor, &(& _i . fn_token).0);
+    tokens_helper(_visitor, &(_i . fn_token).0);
     if let Some(ref it) = _i . lifetimes { _visitor.visit_bound_lifetimes(it) };
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . inputs) { let it = el.value(); _visitor.visit_bare_fn_arg(it) };
     if let Some(ref it) = _i . variadic { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_return_type(& _i . output);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_group<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeGroup) {
-    tokens_helper(_visitor, &(& _i . group_token).0);
+    tokens_helper(_visitor, &(_i . group_token).0);
     _visitor.visit_type(& * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_impl_trait<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeImplTrait) {
-    tokens_helper(_visitor, &(& _i . impl_token).0);
+    tokens_helper(_visitor, &(_i . impl_token).0);
     for el in Punctuated::pairs(& _i . bounds) { let it = el.value(); _visitor.visit_type_param_bound(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_infer<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeInfer) {
-    tokens_helper(_visitor, &(& _i . underscore_token).0);
+    tokens_helper(_visitor, &(_i . underscore_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_macro<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeMacro) {
@@ -2101,7 +2101,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_never<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeNever) {
-    tokens_helper(_visitor, &(& _i . bang_token).0);
+    tokens_helper(_visitor, &(_i . bang_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_param<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeParam) {
@@ -2125,7 +2125,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_paren<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeParen) {
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     _visitor.visit_type(& * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -2135,21 +2135,21 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_ptr<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypePtr) {
-    tokens_helper(_visitor, &(& _i . star_token).0);
+    tokens_helper(_visitor, &(_i . star_token).0);
     if let Some(ref it) = _i . const_token { tokens_helper(_visitor, &(it).0) };
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_type(& * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_reference<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeReference) {
-    tokens_helper(_visitor, &(& _i . and_token).0);
+    tokens_helper(_visitor, &(_i . and_token).0);
     if let Some(ref it) = _i . lifetime { _visitor.visit_lifetime(it) };
     if let Some(ref it) = _i . mutability { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_type(& * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_slice<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeSlice) {
-    tokens_helper(_visitor, &(& _i . bracket_token).0);
+    tokens_helper(_visitor, &(_i . bracket_token).0);
     _visitor.visit_type(& * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -2159,7 +2159,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_tuple<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeTuple) {
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     for el in Punctuated::pairs(& _i . elems) { let it = el.value(); _visitor.visit_type(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -2182,11 +2182,11 @@
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_glob<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseGlob) {
-    tokens_helper(_visitor, &(& _i . star_token).0);
+    tokens_helper(_visitor, &(_i . star_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_group<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseGroup) {
-    tokens_helper(_visitor, &(& _i . brace_token).0);
+    tokens_helper(_visitor, &(_i . brace_token).0);
     for el in Punctuated::pairs(& _i . items) { let it = el.value(); _visitor.visit_use_tree(it) };
 }
 # [ cfg ( feature = "full" ) ]
@@ -2196,13 +2196,13 @@
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_path<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UsePath) {
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . colon2_token).0);
+    tokens_helper(_visitor, &(_i . colon2_token).0);
     _visitor.visit_use_tree(& * _i . tree);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_rename<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseRename) {
     _visitor.visit_ident(& _i . ident);
-    tokens_helper(_visitor, &(& _i . as_token).0);
+    tokens_helper(_visitor, &(_i . as_token).0);
     _visitor.visit_ident(& _i . rename);
 }
 # [ cfg ( feature = "full" ) ]
@@ -2231,22 +2231,22 @@
     _visitor.visit_ident(& _i . ident);
     _visitor.visit_fields(& _i . fields);
     if let Some(ref it) = _i . discriminant { 
-            tokens_helper(_visitor, &(& ( it ) . 0).0);
+            tokens_helper(_visitor, &(( it ) . 0).0);
             _visitor.visit_expr(& ( it ) . 1);
          };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_vis_crate<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisCrate) {
-    tokens_helper(_visitor, &(& _i . crate_token).0);
+    tokens_helper(_visitor, &(_i . crate_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_vis_public<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisPublic) {
-    tokens_helper(_visitor, &(& _i . pub_token).0);
+    tokens_helper(_visitor, &(_i . pub_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_vis_restricted<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisRestricted) {
-    tokens_helper(_visitor, &(& _i . pub_token).0);
-    tokens_helper(_visitor, &(& _i . paren_token).0);
+    tokens_helper(_visitor, &(_i . pub_token).0);
+    tokens_helper(_visitor, &(_i . paren_token).0);
     if let Some(ref it) = _i . in_token { tokens_helper(_visitor, &(it).0) };
     _visitor.visit_path(& * _i . path);
 }
@@ -2267,7 +2267,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_where_clause<'ast, V: Visit<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast WhereClause) {
-    tokens_helper(_visitor, &(& _i . where_token).0);
+    tokens_helper(_visitor, &(_i . where_token).0);
     for el in Punctuated::pairs(& _i . predicates) { let it = el.value(); _visitor.visit_where_predicate(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index 05ca3c4..fbda0ec 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -421,33 +421,33 @@
 
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_abi_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Abi) {
-    tokens_helper(_visitor, &mut (& mut _i . extern_token).0);
+    tokens_helper(_visitor, &mut (_i . extern_token).0);
     if let Some(ref mut it) = _i . name { _visitor.visit_lit_str_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_angle_bracketed_generic_arguments_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut AngleBracketedGenericArguments) {
     if let Some(ref mut it) = _i . colon2_token { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . lt_token).0);
+    tokens_helper(_visitor, &mut (_i . lt_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . args) { let it = el.value_mut(); _visitor.visit_generic_argument_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . gt_token).0);
+    tokens_helper(_visitor, &mut (_i . gt_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_arg_captured_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ArgCaptured) {
     _visitor.visit_pat_mut(& mut _i . pat);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     _visitor.visit_type_mut(& mut _i . ty);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_arg_self_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ArgSelf) {
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . self_token).0);
+    tokens_helper(_visitor, &mut (_i . self_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_arg_self_ref_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ArgSelfRef) {
-    tokens_helper(_visitor, &mut (& mut _i . and_token).0);
+    tokens_helper(_visitor, &mut (_i . and_token).0);
     if let Some(ref mut it) = _i . lifetime { _visitor.visit_lifetime_mut(it) };
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . self_token).0);
+    tokens_helper(_visitor, &mut (_i . self_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_arm_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Arm) {
@@ -455,10 +455,10 @@
     if let Some(ref mut it) = _i . leading_vert { tokens_helper(_visitor, &mut (it).0) };
     for mut el in Punctuated::pairs_mut(& mut _i . pats) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
     if let Some(ref mut it) = _i . guard { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_expr_mut(& mut * ( it ) . 1);
          };
-    tokens_helper(_visitor, &mut (& mut _i . fat_arrow_token).0);
+    tokens_helper(_visitor, &mut (_i . fat_arrow_token).0);
     _visitor.visit_expr_mut(& mut * _i . body);
     if let Some(ref mut it) = _i . comma { tokens_helper(_visitor, &mut (it).0) };
 }
@@ -473,9 +473,9 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_attribute_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Attribute) {
-    tokens_helper(_visitor, &mut (& mut _i . pound_token).0);
+    tokens_helper(_visitor, &mut (_i . pound_token).0);
     _visitor.visit_attr_style_mut(& mut _i . style);
-    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
+    tokens_helper(_visitor, &mut (_i . bracket_token).0);
     _visitor.visit_path_mut(& mut _i . path);
     // Skipped field _i . tts;
     // Skipped field _i . is_sugared_doc;
@@ -484,7 +484,7 @@
 pub fn visit_bare_fn_arg_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut BareFnArg) {
     if let Some(ref mut it) = _i . name { 
             _visitor.visit_bare_fn_arg_name_mut(& mut ( it ) . 0);
-            tokens_helper(_visitor, &mut (& mut ( it ) . 1).0);
+            tokens_helper(_visitor, &mut (( it ) . 1).0);
          };
     _visitor.visit_type_mut(& mut _i . ty);
 }
@@ -591,27 +591,27 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_binding_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Binding) {
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_type_mut(& mut _i . ty);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_block_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Block) {
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for it in & mut _i . stmts { _visitor.visit_stmt_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_bound_lifetimes_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut BoundLifetimes) {
-    tokens_helper(_visitor, &mut (& mut _i . for_token).0);
-    tokens_helper(_visitor, &mut (& mut _i . lt_token).0);
+    tokens_helper(_visitor, &mut (_i . for_token).0);
+    tokens_helper(_visitor, &mut (_i . lt_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . lifetimes) { let it = el.value_mut(); _visitor.visit_lifetime_def_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . gt_token).0);
+    tokens_helper(_visitor, &mut (_i . gt_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_const_param_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ConstParam) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . const_token).0);
+    tokens_helper(_visitor, &mut (_i . const_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     _visitor.visit_type_mut(& mut _i . ty);
     if let Some(ref mut it) = _i . eq_token { tokens_helper(_visitor, &mut (it).0) };
     if let Some(ref mut it) = _i . default { _visitor.visit_expr_mut(it) };
@@ -632,19 +632,19 @@
 }
 # [ cfg ( feature = "derive" ) ]
 pub fn visit_data_enum_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut DataEnum) {
-    tokens_helper(_visitor, &mut (& mut _i . enum_token).0);
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . enum_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . variants) { let it = el.value_mut(); _visitor.visit_variant_mut(it) };
 }
 # [ cfg ( feature = "derive" ) ]
 pub fn visit_data_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut DataStruct) {
-    tokens_helper(_visitor, &mut (& mut _i . struct_token).0);
+    tokens_helper(_visitor, &mut (_i . struct_token).0);
     _visitor.visit_fields_mut(& mut _i . fields);
     if let Some(ref mut it) = _i . semi_token { tokens_helper(_visitor, &mut (it).0) };
 }
 # [ cfg ( feature = "derive" ) ]
 pub fn visit_data_union_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut DataUnion) {
-    tokens_helper(_visitor, &mut (& mut _i . union_token).0);
+    tokens_helper(_visitor, &mut (_i . union_token).0);
     _visitor.visit_fields_named_mut(& mut _i . fields);
 }
 # [ cfg ( feature = "derive" ) ]
@@ -783,14 +783,14 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_array_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprArray) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
+    tokens_helper(_visitor, &mut (_i . bracket_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . elems) { let it = el.value_mut(); _visitor.visit_expr_mut(it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_assign_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprAssign) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . left);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_expr_mut(& mut * _i . right);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -815,13 +815,13 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_box_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprBox) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . box_token).0);
+    tokens_helper(_visitor, &mut (_i . box_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_break_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprBreak) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . break_token).0);
+    tokens_helper(_visitor, &mut (_i . break_token).0);
     if let Some(ref mut it) = _i . label { _visitor.visit_lifetime_mut(it) };
     if let Some(ref mut it) = _i . expr { _visitor.visit_expr_mut(& mut * * it) };
 }
@@ -829,21 +829,21 @@
 pub fn visit_expr_call_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprCall) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . func);
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . args) { let it = el.value_mut(); _visitor.visit_expr_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_cast_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprCast) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . as_token).0);
+    tokens_helper(_visitor, &mut (_i . as_token).0);
     _visitor.visit_type_mut(& mut * _i . ty);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_catch_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprCatch) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . do_token).0);
-    tokens_helper(_visitor, &mut (& mut _i . catch_token).0);
+    tokens_helper(_visitor, &mut (_i . do_token).0);
+    tokens_helper(_visitor, &mut (_i . catch_token).0);
     _visitor.visit_block_mut(& mut _i . block);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -851,63 +851,63 @@
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     if let Some(ref mut it) = _i . movability { tokens_helper(_visitor, &mut (it).0) };
     if let Some(ref mut it) = _i . capture { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . or1_token).0);
+    tokens_helper(_visitor, &mut (_i . or1_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . inputs) { let it = el.value_mut(); _visitor.visit_fn_arg_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . or2_token).0);
+    tokens_helper(_visitor, &mut (_i . or2_token).0);
     _visitor.visit_return_type_mut(& mut _i . output);
     _visitor.visit_expr_mut(& mut * _i . body);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_continue_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprContinue) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . continue_token).0);
+    tokens_helper(_visitor, &mut (_i . continue_token).0);
     if let Some(ref mut it) = _i . label { _visitor.visit_lifetime_mut(it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_field_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprField) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . base);
-    tokens_helper(_visitor, &mut (& mut _i . dot_token).0);
+    tokens_helper(_visitor, &mut (_i . dot_token).0);
     _visitor.visit_member_mut(& mut _i . member);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_for_loop_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprForLoop) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     if let Some(ref mut it) = _i . label { _visitor.visit_label_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . for_token).0);
+    tokens_helper(_visitor, &mut (_i . for_token).0);
     _visitor.visit_pat_mut(& mut * _i . pat);
-    tokens_helper(_visitor, &mut (& mut _i . in_token).0);
+    tokens_helper(_visitor, &mut (_i . in_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
     _visitor.visit_block_mut(& mut _i . body);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_group_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprGroup) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . group_token).0);
+    tokens_helper(_visitor, &mut (_i . group_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_if_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIf) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . if_token).0);
+    tokens_helper(_visitor, &mut (_i . if_token).0);
     _visitor.visit_expr_mut(& mut * _i . cond);
     _visitor.visit_block_mut(& mut _i . then_branch);
     if let Some(ref mut it) = _i . else_branch { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_expr_mut(& mut * ( it ) . 1);
          };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_if_let_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIfLet) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . if_token).0);
-    tokens_helper(_visitor, &mut (& mut _i . let_token).0);
+    tokens_helper(_visitor, &mut (_i . if_token).0);
+    tokens_helper(_visitor, &mut (_i . let_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . pats) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
     _visitor.visit_block_mut(& mut _i . then_branch);
     if let Some(ref mut it) = _i . else_branch { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_expr_mut(& mut * ( it ) . 1);
          };
 }
@@ -915,14 +915,14 @@
 pub fn visit_expr_in_place_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprInPlace) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . place);
-    tokens_helper(_visitor, &mut (& mut _i . arrow_token).0);
+    tokens_helper(_visitor, &mut (_i . arrow_token).0);
     _visitor.visit_expr_mut(& mut * _i . value);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_index_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprIndex) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
+    tokens_helper(_visitor, &mut (_i . bracket_token).0);
     _visitor.visit_expr_mut(& mut * _i . index);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -934,7 +934,7 @@
 pub fn visit_expr_loop_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprLoop) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     if let Some(ref mut it) = _i . label { _visitor.visit_label_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . loop_token).0);
+    tokens_helper(_visitor, &mut (_i . loop_token).0);
     _visitor.visit_block_mut(& mut _i . body);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -945,25 +945,25 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_match_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprMatch) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . match_token).0);
+    tokens_helper(_visitor, &mut (_i . match_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for it in & mut _i . arms { _visitor.visit_arm_mut(it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_method_call_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprMethodCall) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . receiver);
-    tokens_helper(_visitor, &mut (& mut _i . dot_token).0);
+    tokens_helper(_visitor, &mut (_i . dot_token).0);
     _visitor.visit_ident_mut(& mut _i . method);
     if let Some(ref mut it) = _i . turbofish { _visitor.visit_method_turbofish_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . args) { let it = el.value_mut(); _visitor.visit_expr_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_paren_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprParen) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -982,29 +982,29 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_reference_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprReference) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . and_token).0);
+    tokens_helper(_visitor, &mut (_i . and_token).0);
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_expr_mut(& mut * _i . expr);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_repeat_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprRepeat) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
+    tokens_helper(_visitor, &mut (_i . bracket_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
     _visitor.visit_expr_mut(& mut * _i . len);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_return_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprReturn) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . return_token).0);
+    tokens_helper(_visitor, &mut (_i . return_token).0);
     if let Some(ref mut it) = _i . expr { _visitor.visit_expr_mut(& mut * * it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprStruct) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_path_mut(& mut _i . path);
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . fields) { let it = el.value_mut(); _visitor.visit_field_value_mut(it) };
     if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
     if let Some(ref mut it) = _i . rest { _visitor.visit_expr_mut(& mut * * it) };
@@ -1013,19 +1013,19 @@
 pub fn visit_expr_try_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprTry) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . question_token).0);
+    tokens_helper(_visitor, &mut (_i . question_token).0);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_tuple_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprTuple) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . elems) { let it = el.value_mut(); _visitor.visit_expr_mut(it) };
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprType) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_expr_mut(& mut * _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     _visitor.visit_type_mut(& mut * _i . ty);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1037,7 +1037,7 @@
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_unsafe_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprUnsafe) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . unsafe_token).0);
+    tokens_helper(_visitor, &mut (_i . unsafe_token).0);
     _visitor.visit_block_mut(& mut _i . block);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1048,7 +1048,7 @@
 pub fn visit_expr_while_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprWhile) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     if let Some(ref mut it) = _i . label { _visitor.visit_label_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . while_token).0);
+    tokens_helper(_visitor, &mut (_i . while_token).0);
     _visitor.visit_expr_mut(& mut * _i . cond);
     _visitor.visit_block_mut(& mut _i . body);
 }
@@ -1056,17 +1056,17 @@
 pub fn visit_expr_while_let_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprWhileLet) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     if let Some(ref mut it) = _i . label { _visitor.visit_label_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . while_token).0);
-    tokens_helper(_visitor, &mut (& mut _i . let_token).0);
+    tokens_helper(_visitor, &mut (_i . while_token).0);
+    tokens_helper(_visitor, &mut (_i . let_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . pats) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
     _visitor.visit_block_mut(& mut _i . body);
 }
 # [ cfg ( feature = "full" ) ] # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_expr_yield_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ExprYield) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . yield_token).0);
+    tokens_helper(_visitor, &mut (_i . yield_token).0);
     if let Some(ref mut it) = _i . expr { _visitor.visit_expr_mut(& mut * * it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1105,12 +1105,12 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_fields_named_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FieldsNamed) {
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . named) { let it = el.value_mut(); _visitor.visit_field_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_fields_unnamed_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FieldsUnnamed) {
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . unnamed) { let it = el.value_mut(); _visitor.visit_field_mut(it) };
 }
 # [ cfg ( feature = "full" ) ]
@@ -1141,9 +1141,9 @@
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_fn_decl_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut FnDecl) {
-    tokens_helper(_visitor, &mut (& mut _i . fn_token).0);
+    tokens_helper(_visitor, &mut (_i . fn_token).0);
     _visitor.visit_generics_mut(& mut _i . generics);
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . inputs) { let it = el.value_mut(); _visitor.visit_fn_arg_mut(it) };
     if let Some(ref mut it) = _i . variadic { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_return_type_mut(& mut _i . output);
@@ -1171,26 +1171,26 @@
     _visitor.visit_visibility_mut(& mut _i . vis);
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_fn_decl_mut(& mut * _i . decl);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_foreign_item_static_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ForeignItemStatic) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . static_token).0);
+    tokens_helper(_visitor, &mut (_i . static_token).0);
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     _visitor.visit_type_mut(& mut * _i . ty);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_foreign_item_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ForeignItemType) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . type_token).0);
+    tokens_helper(_visitor, &mut (_i . type_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_foreign_item_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ForeignItemVerbatim) {
@@ -1273,13 +1273,13 @@
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
     if let Some(ref mut it) = _i . defaultness { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . const_token).0);
+    tokens_helper(_visitor, &mut (_i . const_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     _visitor.visit_type_mut(& mut _i . ty);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_expr_mut(& mut _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_impl_item_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ImplItemMacro) {
@@ -1300,12 +1300,12 @@
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
     if let Some(ref mut it) = _i . defaultness { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . type_token).0);
+    tokens_helper(_visitor, &mut (_i . type_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_generics_mut(& mut _i . generics);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_type_mut(& mut _i . ty);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_impl_item_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ImplItemVerbatim) {
@@ -1373,36 +1373,36 @@
 pub fn visit_item_const_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemConst) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . const_token).0);
+    tokens_helper(_visitor, &mut (_i . const_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     _visitor.visit_type_mut(& mut * _i . ty);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_enum_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemEnum) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . enum_token).0);
+    tokens_helper(_visitor, &mut (_i . enum_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_generics_mut(& mut _i . generics);
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . variants) { let it = el.value_mut(); _visitor.visit_variant_mut(it) };
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_extern_crate_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemExternCrate) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . extern_token).0);
-    tokens_helper(_visitor, &mut (& mut _i . crate_token).0);
+    tokens_helper(_visitor, &mut (_i . extern_token).0);
+    tokens_helper(_visitor, &mut (_i . crate_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     if let Some(ref mut it) = _i . rename { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_ident_mut(& mut ( it ) . 1);
          };
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_fn_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemFn) {
@@ -1419,7 +1419,7 @@
 pub fn visit_item_foreign_mod_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemForeignMod) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_abi_mut(& mut _i . abi);
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for it in & mut _i . items { _visitor.visit_foreign_item_mut(it) };
 }
 # [ cfg ( feature = "full" ) ]
@@ -1427,15 +1427,15 @@
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     if let Some(ref mut it) = _i . defaultness { tokens_helper(_visitor, &mut (it).0) };
     if let Some(ref mut it) = _i . unsafety { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . impl_token).0);
+    tokens_helper(_visitor, &mut (_i . impl_token).0);
     _visitor.visit_generics_mut(& mut _i . generics);
     if let Some(ref mut it) = _i . trait_ { 
             if let Some(ref mut it) = ( it ) . 0 { tokens_helper(_visitor, &mut (it).0) };
             _visitor.visit_path_mut(& mut ( it ) . 1);
-            tokens_helper(_visitor, &mut (& mut ( it ) . 2).0);
+            tokens_helper(_visitor, &mut (( it ) . 2).0);
          };
     _visitor.visit_type_mut(& mut * _i . self_ty);
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for it in & mut _i . items { _visitor.visit_impl_item_mut(it) };
 }
 # [ cfg ( feature = "full" ) ]
@@ -1449,21 +1449,21 @@
 pub fn visit_item_macro2_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemMacro2) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . macro_token).0);
+    tokens_helper(_visitor, &mut (_i . macro_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     // Skipped field _i . args;
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     // Skipped field _i . body;
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_mod_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemMod) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . mod_token).0);
+    tokens_helper(_visitor, &mut (_i . mod_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     if let Some(ref mut it) = _i . content { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             for it in & mut ( it ) . 1 { _visitor.visit_item_mut(it) };
          };
     if let Some(ref mut it) = _i . semi { tokens_helper(_visitor, &mut (it).0) };
@@ -1472,20 +1472,20 @@
 pub fn visit_item_static_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemStatic) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . static_token).0);
+    tokens_helper(_visitor, &mut (_i . static_token).0);
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     _visitor.visit_type_mut(& mut * _i . ty);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_expr_mut(& mut * _i . expr);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemStruct) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . struct_token).0);
+    tokens_helper(_visitor, &mut (_i . struct_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_generics_mut(& mut _i . generics);
     _visitor.visit_fields_mut(& mut _i . fields);
@@ -1497,30 +1497,30 @@
     _visitor.visit_visibility_mut(& mut _i . vis);
     if let Some(ref mut it) = _i . unsafety { tokens_helper(_visitor, &mut (it).0) };
     if let Some(ref mut it) = _i . auto_token { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . trait_token).0);
+    tokens_helper(_visitor, &mut (_i . trait_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_generics_mut(& mut _i . generics);
     if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
     for mut el in Punctuated::pairs_mut(& mut _i . supertraits) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for it in & mut _i . items { _visitor.visit_trait_item_mut(it) };
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemType) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . type_token).0);
+    tokens_helper(_visitor, &mut (_i . type_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_generics_mut(& mut _i . generics);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_type_mut(& mut * _i . ty);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_union_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemUnion) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . union_token).0);
+    tokens_helper(_visitor, &mut (_i . union_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_generics_mut(& mut _i . generics);
     _visitor.visit_fields_named_mut(& mut _i . fields);
@@ -1529,10 +1529,10 @@
 pub fn visit_item_use_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemUse) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
     _visitor.visit_visibility_mut(& mut _i . vis);
-    tokens_helper(_visitor, &mut (& mut _i . use_token).0);
+    tokens_helper(_visitor, &mut (_i . use_token).0);
     if let Some(ref mut it) = _i . leading_colon { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_use_tree_mut(& mut _i . tree);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_item_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ItemVerbatim) {
@@ -1541,7 +1541,7 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_label_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Label) {
     _visitor.visit_lifetime_mut(& mut _i . name);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_lifetime_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Lifetime) {
@@ -1620,22 +1620,22 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_local_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Local) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . let_token).0);
+    tokens_helper(_visitor, &mut (_i . let_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . pats) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
     if let Some(ref mut it) = _i . ty { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_type_mut(& mut * ( it ) . 1);
          };
     if let Some(ref mut it) = _i . init { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_expr_mut(& mut * ( it ) . 1);
          };
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Macro) {
     _visitor.visit_path_mut(& mut _i . path);
-    tokens_helper(_visitor, &mut (& mut _i . bang_token).0);
+    tokens_helper(_visitor, &mut (_i . bang_token).0);
     _visitor.visit_macro_delimiter_mut(& mut _i . delimiter);
     // Skipped field _i . tts;
 }
@@ -1681,13 +1681,13 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_meta_list_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut MetaList) {
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . nested) { let it = el.value_mut(); _visitor.visit_nested_meta_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_meta_name_value_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut MetaNameValue) {
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_lit_mut(& mut _i . lit);
 }
 # [ cfg ( feature = "full" ) ]
@@ -1700,10 +1700,10 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_method_turbofish_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut MethodTurbofish) {
-    tokens_helper(_visitor, &mut (& mut _i . colon2_token).0);
-    tokens_helper(_visitor, &mut (& mut _i . lt_token).0);
+    tokens_helper(_visitor, &mut (_i . colon2_token).0);
+    tokens_helper(_visitor, &mut (_i . lt_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . args) { let it = el.value_mut(); _visitor.visit_generic_method_argument_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . gt_token).0);
+    tokens_helper(_visitor, &mut (_i . gt_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_nested_meta_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut NestedMeta) {
@@ -1718,7 +1718,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_parenthesized_generic_arguments_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut ParenthesizedGenericArguments) {
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . inputs) { let it = el.value_mut(); _visitor.visit_type_mut(it) };
     _visitor.visit_return_type_mut(& mut _i . output);
 }
@@ -1768,7 +1768,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_box_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatBox) {
-    tokens_helper(_visitor, &mut (& mut _i . box_token).0);
+    tokens_helper(_visitor, &mut (_i . box_token).0);
     _visitor.visit_pat_mut(& mut * _i . pat);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
@@ -1777,7 +1777,7 @@
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_ident_mut(& mut _i . ident);
     if let Some(ref mut it) = _i . subpat { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_pat_mut(& mut * ( it ) . 1);
          };
 }
@@ -1802,13 +1802,13 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_ref_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatRef) {
-    tokens_helper(_visitor, &mut (& mut _i . and_token).0);
+    tokens_helper(_visitor, &mut (_i . and_token).0);
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_pat_mut(& mut * _i . pat);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_slice_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatSlice) {
-    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
+    tokens_helper(_visitor, &mut (_i . bracket_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . front) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
     if let Some(ref mut it) = _i . middle { _visitor.visit_pat_mut(& mut * * it) };
     if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
@@ -1818,13 +1818,13 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_struct_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatStruct) {
     _visitor.visit_path_mut(& mut _i . path);
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . fields) { let it = el.value_mut(); _visitor.visit_field_pat_mut(it) };
     if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_tuple_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatTuple) {
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . front) { let it = el.value_mut(); _visitor.visit_pat_mut(it) };
     if let Some(ref mut it) = _i . dot2_token { tokens_helper(_visitor, &mut (it).0) };
     if let Some(ref mut it) = _i . comma_token { tokens_helper(_visitor, &mut (it).0) };
@@ -1841,7 +1841,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_pat_wild_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PatWild) {
-    tokens_helper(_visitor, &mut (& mut _i . underscore_token).0);
+    tokens_helper(_visitor, &mut (_i . underscore_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_path_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut Path) {
@@ -1868,7 +1868,7 @@
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_predicate_eq_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PredicateEq) {
     _visitor.visit_type_mut(& mut _i . lhs_ty);
-    tokens_helper(_visitor, &mut (& mut _i . eq_token).0);
+    tokens_helper(_visitor, &mut (_i . eq_token).0);
     _visitor.visit_type_mut(& mut _i . rhs_ty);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -1881,16 +1881,16 @@
 pub fn visit_predicate_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut PredicateType) {
     if let Some(ref mut it) = _i . lifetimes { _visitor.visit_bound_lifetimes_mut(it) };
     _visitor.visit_type_mut(& mut _i . bounded_ty);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_qself_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut QSelf) {
-    tokens_helper(_visitor, &mut (& mut _i . lt_token).0);
+    tokens_helper(_visitor, &mut (_i . lt_token).0);
     _visitor.visit_type_mut(& mut * _i . ty);
     // Skipped field _i . position;
     if let Some(ref mut it) = _i . as_token { tokens_helper(_visitor, &mut (it).0) };
-    tokens_helper(_visitor, &mut (& mut _i . gt_token).0);
+    tokens_helper(_visitor, &mut (_i . gt_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ] # [ cfg ( feature = "full" ) ]
 pub fn visit_range_limits_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut RangeLimits) {
@@ -1973,15 +1973,15 @@
 # [ cfg ( feature = "full" ) ]
 pub fn visit_trait_item_const_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemConst) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . const_token).0);
+    tokens_helper(_visitor, &mut (_i . const_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . colon_token).0);
+    tokens_helper(_visitor, &mut (_i . colon_token).0);
     _visitor.visit_type_mut(& mut _i . ty);
     if let Some(ref mut it) = _i . default { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_expr_mut(& mut ( it ) . 1);
          };
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_trait_item_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemMacro) {
@@ -1999,16 +1999,16 @@
 # [ cfg ( feature = "full" ) ]
 pub fn visit_trait_item_type_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemType) {
     for it in & mut _i . attrs { _visitor.visit_attribute_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . type_token).0);
+    tokens_helper(_visitor, &mut (_i . type_token).0);
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_generics_mut(& mut _i . generics);
     if let Some(ref mut it) = _i . colon_token { tokens_helper(_visitor, &mut (it).0) };
     for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
     if let Some(ref mut it) = _i . default { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_type_mut(& mut ( it ) . 1);
          };
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_trait_item_verbatim_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TraitItemVerbatim) {
@@ -2066,35 +2066,35 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_array_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeArray) {
-    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
+    tokens_helper(_visitor, &mut (_i . bracket_token).0);
     _visitor.visit_type_mut(& mut * _i . elem);
-    tokens_helper(_visitor, &mut (& mut _i . semi_token).0);
+    tokens_helper(_visitor, &mut (_i . semi_token).0);
     _visitor.visit_expr_mut(& mut _i . len);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_bare_fn_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeBareFn) {
     if let Some(ref mut it) = _i . unsafety { tokens_helper(_visitor, &mut (it).0) };
     if let Some(ref mut it) = _i . abi { _visitor.visit_abi_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . fn_token).0);
+    tokens_helper(_visitor, &mut (_i . fn_token).0);
     if let Some(ref mut it) = _i . lifetimes { _visitor.visit_bound_lifetimes_mut(it) };
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . inputs) { let it = el.value_mut(); _visitor.visit_bare_fn_arg_mut(it) };
     if let Some(ref mut it) = _i . variadic { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_return_type_mut(& mut _i . output);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_group_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeGroup) {
-    tokens_helper(_visitor, &mut (& mut _i . group_token).0);
+    tokens_helper(_visitor, &mut (_i . group_token).0);
     _visitor.visit_type_mut(& mut * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_impl_trait_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeImplTrait) {
-    tokens_helper(_visitor, &mut (& mut _i . impl_token).0);
+    tokens_helper(_visitor, &mut (_i . impl_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . bounds) { let it = el.value_mut(); _visitor.visit_type_param_bound_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_infer_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeInfer) {
-    tokens_helper(_visitor, &mut (& mut _i . underscore_token).0);
+    tokens_helper(_visitor, &mut (_i . underscore_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_macro_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeMacro) {
@@ -2102,7 +2102,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_never_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeNever) {
-    tokens_helper(_visitor, &mut (& mut _i . bang_token).0);
+    tokens_helper(_visitor, &mut (_i . bang_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_param_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeParam) {
@@ -2126,7 +2126,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_paren_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeParen) {
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     _visitor.visit_type_mut(& mut * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -2136,21 +2136,21 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_ptr_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypePtr) {
-    tokens_helper(_visitor, &mut (& mut _i . star_token).0);
+    tokens_helper(_visitor, &mut (_i . star_token).0);
     if let Some(ref mut it) = _i . const_token { tokens_helper(_visitor, &mut (it).0) };
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_type_mut(& mut * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_reference_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeReference) {
-    tokens_helper(_visitor, &mut (& mut _i . and_token).0);
+    tokens_helper(_visitor, &mut (_i . and_token).0);
     if let Some(ref mut it) = _i . lifetime { _visitor.visit_lifetime_mut(it) };
     if let Some(ref mut it) = _i . mutability { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_type_mut(& mut * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_slice_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeSlice) {
-    tokens_helper(_visitor, &mut (& mut _i . bracket_token).0);
+    tokens_helper(_visitor, &mut (_i . bracket_token).0);
     _visitor.visit_type_mut(& mut * _i . elem);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -2160,7 +2160,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_type_tuple_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut TypeTuple) {
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . elems) { let it = el.value_mut(); _visitor.visit_type_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
@@ -2183,11 +2183,11 @@
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_glob_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UseGlob) {
-    tokens_helper(_visitor, &mut (& mut _i . star_token).0);
+    tokens_helper(_visitor, &mut (_i . star_token).0);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_group_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UseGroup) {
-    tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
+    tokens_helper(_visitor, &mut (_i . brace_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . items) { let it = el.value_mut(); _visitor.visit_use_tree_mut(it) };
 }
 # [ cfg ( feature = "full" ) ]
@@ -2197,13 +2197,13 @@
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_path_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UsePath) {
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . colon2_token).0);
+    tokens_helper(_visitor, &mut (_i . colon2_token).0);
     _visitor.visit_use_tree_mut(& mut * _i . tree);
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_use_rename_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut UseRename) {
     _visitor.visit_ident_mut(& mut _i . ident);
-    tokens_helper(_visitor, &mut (& mut _i . as_token).0);
+    tokens_helper(_visitor, &mut (_i . as_token).0);
     _visitor.visit_ident_mut(& mut _i . rename);
 }
 # [ cfg ( feature = "full" ) ]
@@ -2232,22 +2232,22 @@
     _visitor.visit_ident_mut(& mut _i . ident);
     _visitor.visit_fields_mut(& mut _i . fields);
     if let Some(ref mut it) = _i . discriminant { 
-            tokens_helper(_visitor, &mut (& mut ( it ) . 0).0);
+            tokens_helper(_visitor, &mut (( it ) . 0).0);
             _visitor.visit_expr_mut(& mut ( it ) . 1);
          };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_vis_crate_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut VisCrate) {
-    tokens_helper(_visitor, &mut (& mut _i . crate_token).0);
+    tokens_helper(_visitor, &mut (_i . crate_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_vis_public_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut VisPublic) {
-    tokens_helper(_visitor, &mut (& mut _i . pub_token).0);
+    tokens_helper(_visitor, &mut (_i . pub_token).0);
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_vis_restricted_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut VisRestricted) {
-    tokens_helper(_visitor, &mut (& mut _i . pub_token).0);
-    tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
+    tokens_helper(_visitor, &mut (_i . pub_token).0);
+    tokens_helper(_visitor, &mut (_i . paren_token).0);
     if let Some(ref mut it) = _i . in_token { tokens_helper(_visitor, &mut (it).0) };
     _visitor.visit_path_mut(& mut * _i . path);
 }
@@ -2268,7 +2268,7 @@
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
 pub fn visit_where_clause_mut<V: VisitMut + ?Sized>(_visitor: &mut V, _i: &mut WhereClause) {
-    tokens_helper(_visitor, &mut (& mut _i . where_token).0);
+    tokens_helper(_visitor, &mut (_i . where_token).0);
     for mut el in Punctuated::pairs_mut(& mut _i . predicates) { let it = el.value_mut(); _visitor.visit_where_predicate_mut(it) };
 }
 # [ cfg ( any ( feature = "full" , feature = "derive" ) ) ]
diff --git a/src/generics.rs b/src/generics.rs
index 970e1ff..d1f4fa2 100644
--- a/src/generics.rs
+++ b/src/generics.rs
@@ -149,7 +149,7 @@
         // This is Option::get_or_insert_with in Rust 1.20.
         if self.where_clause.is_none() {
             self.where_clause = Some(WhereClause {
-                where_token: Default::default(),
+                where_token: <Token![where]>::default(),
                 predicates: Punctuated::new(),
             });
         }
diff --git a/src/lib.rs b/src/lib.rs
index 2b362bd..42b8a4a 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -265,16 +265,16 @@
     feature = "cargo-clippy",
     allow(
         const_static_lifetime, doc_markdown, large_enum_variant, match_bool, redundant_closure,
-        needless_pass_by_value, redundant_field_names
+        needless_pass_by_value, redundant_field_names, trivially_copy_pass_by_ref
     )
 )]
 // Ignored clippy_pedantic lints.
 #![cfg_attr(
     feature = "cargo-clippy",
     allow(
-        cast_possible_truncation, cast_possible_wrap, if_not_else, items_after_statements,
-        similar_names, single_match_else, stutter, unseparated_literal_suffix, use_self,
-        used_underscore_binding
+        cast_possible_truncation, cast_possible_wrap, if_not_else, indexing_slicing,
+        items_after_statements, similar_names, single_match_else, stutter,
+        unseparated_literal_suffix, use_self, used_underscore_binding
     )
 )]
 
diff --git a/src/lifetime.rs b/src/lifetime.rs
index 74f4f68..998f381 100644
--- a/src/lifetime.rs
+++ b/src/lifetime.rs
@@ -68,7 +68,7 @@
         }
 
         Lifetime {
-            apostrophe: Default::default(),
+            apostrophe: Apostrophe::default(),
             ident: Ident::new(&s[1..], span),
         }
     }
diff --git a/src/synom.rs b/src/synom.rs
index ac719ff..e452f92 100644
--- a/src/synom.rs
+++ b/src/synom.rs
@@ -230,13 +230,10 @@
 impl Synom for Group {
     fn parse(input: Cursor) -> PResult<Self> {
         for delim in &[Delimiter::Parenthesis, Delimiter::Brace, Delimiter::Bracket] {
-            match input.group(*delim) {
-                Some((inside, span, rest)) => {
-                    let mut group = Group::new(*delim, inside.token_stream());
-                    group.set_span(span);
-                    return Ok((group, rest));
-                }
-                None => {}
+            if let Some((inside, span, rest)) = input.group(*delim) {
+                let mut group = Group::new(*delim, inside.token_stream());
+                group.set_span(span);
+                return Ok((group, rest));
             }
         }
         parse_error()