Rename fields to avoid repetition
diff --git a/codegen/src/main.rs b/codegen/src/main.rs
index c874fb4..5ebe8e5 100644
--- a/codegen/src/main.rs
+++ b/codegen/src/main.rs
@@ -740,7 +740,7 @@
                             state.visit_mut_impl.push_str(&binding);
                             state.fold_impl.push_str(&binding);
 
-                            let res = fields.fields
+                            let res = fields.unnamed
                                 .iter()
                                 .enumerate()
                                 .map(|(idx, el)| {
@@ -843,7 +843,7 @@
                         state
                             .fold_impl
                             .push_str(&format!("    {} {{\n", s.ast.ident));
-                        fields.fields
+                        fields.named
                             .iter()
                             .map(|el| {
                                 let id = el.item().ident;
@@ -855,7 +855,7 @@
                         state
                             .fold_impl
                             .push_str(&format!("    {} (\n", s.ast.ident));
-                        fields.fields
+                        fields.unnamed
                             .iter()
                             .enumerate()
                             .map(|(idx, el)| {
diff --git a/src/data.rs b/src/data.rs
index dade46c..439a21c 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -25,13 +25,13 @@
         /// y: f64 }`.
         pub Named(FieldsNamed {
             pub brace_token: token::Brace,
-            pub fields: Punctuated<Field, Token![,]>,
+            pub named: Punctuated<Field, Token![,]>,
         }),
 
         /// Unnamed fields of a tuple struct or tuple variant such as `Some(T)`.
         pub Unnamed(FieldsUnnamed {
             pub paren_token: token::Paren,
-            pub fields: Punctuated<Field, Token![,]>,
+            pub unnamed: Punctuated<Field, Token![,]>,
         }),
 
         /// Unit struct or unit variant such as `None`.
@@ -124,7 +124,7 @@
             braces!(call!(Punctuated::parse_terminated_with, Field::parse_named)),
             |(brace, fields)| FieldsNamed {
                 brace_token: brace,
-                fields: fields,
+                named: fields,
             }
         ));
     }
@@ -134,7 +134,7 @@
             parens!(call!(Punctuated::parse_terminated_with, Field::parse_unnamed)),
             |(paren, fields)| FieldsUnnamed {
                 paren_token: paren,
-                fields: fields,
+                unnamed: fields,
             }
         ));
     }
@@ -253,7 +253,7 @@
     impl ToTokens for FieldsNamed {
         fn to_tokens(&self, tokens: &mut Tokens) {
             self.brace_token.surround(tokens, |tokens| {
-                self.fields.to_tokens(tokens);
+                self.named.to_tokens(tokens);
             });
         }
     }
@@ -261,7 +261,7 @@
     impl ToTokens for FieldsUnnamed {
         fn to_tokens(&self, tokens: &mut Tokens) {
             self.paren_token.surround(tokens, |tokens| {
-                self.fields.to_tokens(tokens);
+                self.unnamed.to_tokens(tokens);
             });
         }
     }
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index a7438b9..d5ebc75 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -1372,14 +1372,14 @@
 pub fn fold_fields_named<V: Folder + ?Sized>(_visitor: &mut V, _i: FieldsNamed) -> FieldsNamed {
     FieldsNamed {
         brace_token: Brace(tokens_helper(_visitor, &(_i . brace_token).0)),
-        fields: FoldHelper::lift(_i . fields, |it| { _visitor.fold_field(it) }),
+        named: FoldHelper::lift(_i . named, |it| { _visitor.fold_field(it) }),
     }
 }
 
 pub fn fold_fields_unnamed<V: Folder + ?Sized>(_visitor: &mut V, _i: FieldsUnnamed) -> FieldsUnnamed {
     FieldsUnnamed {
         paren_token: Paren(tokens_helper(_visitor, &(_i . paren_token).0)),
-        fields: FoldHelper::lift(_i . fields, |it| { _visitor.fold_field(it) }),
+        unnamed: FoldHelper::lift(_i . unnamed, |it| { _visitor.fold_field(it) }),
     }
 }
 # [ cfg ( feature = "full" ) ]
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index 5e27de4..eb23394 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -1087,12 +1087,12 @@
 
 pub fn visit_fields_named<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FieldsNamed) {
     tokens_helper(_visitor, &(& _i . brace_token).0);
-    for el in & _i . fields { let it = el.item(); _visitor.visit_field(it) };
+    for el in & _i . named { let it = el.item(); _visitor.visit_field(it) };
 }
 
 pub fn visit_fields_unnamed<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FieldsUnnamed) {
     tokens_helper(_visitor, &(& _i . paren_token).0);
-    for el in & _i . fields { let it = el.item(); _visitor.visit_field(it) };
+    for el in & _i . unnamed { let it = el.item(); _visitor.visit_field(it) };
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_file<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast File) {
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index f2431b2..4a38b74 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -1087,12 +1087,12 @@
 
 pub fn visit_fields_named_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut FieldsNamed) {
     tokens_helper(_visitor, &mut (& mut _i . brace_token).0);
-    for mut el in & mut _i . fields { let it = el.item_mut(); _visitor.visit_field_mut(it) };
+    for mut el in & mut _i . named { let it = el.item_mut(); _visitor.visit_field_mut(it) };
 }
 
 pub fn visit_fields_unnamed_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut FieldsUnnamed) {
     tokens_helper(_visitor, &mut (& mut _i . paren_token).0);
-    for mut el in & mut _i . fields { let it = el.item_mut(); _visitor.visit_field_mut(it) };
+    for mut el in & mut _i . unnamed { let it = el.item_mut(); _visitor.visit_field_mut(it) };
 }
 # [ cfg ( feature = "full" ) ]
 pub fn visit_file_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut File) {
diff --git a/tests/test_derive_input.rs b/tests/test_derive_input.rs
index 9c42eba..4055b7f 100644
--- a/tests/test_derive_input.rs
+++ b/tests/test_derive_input.rs
@@ -92,7 +92,7 @@
             struct_token: Default::default(),
             fields: Fields::Named(FieldsNamed {
                 brace_token: Default::default(),
-                fields: punctuated![
+                named: punctuated![
                     Field {
                         ident: Some("ident".into()),
                         colon_token: Some(Default::default()),
@@ -233,7 +233,7 @@
                     attrs: Vec::new(),
                     fields: Fields::Unnamed(FieldsUnnamed {
                         paren_token: Default::default(),
-                        fields: punctuated![
+                        unnamed: punctuated![
                             Field {
                                 colon_token: None,
                                 ident: None,
@@ -253,7 +253,7 @@
                     attrs: Vec::new(),
                     fields: Fields::Unnamed(FieldsUnnamed {
                         paren_token: Default::default(),
-                        fields: punctuated![
+                        unnamed: punctuated![
                             Field {
                                 ident: None,
                                 colon_token: None,
@@ -511,7 +511,7 @@
         data: Data::Struct(DataStruct {
             fields: Fields::Unnamed(FieldsUnnamed {
                 paren_token: Default::default(),
-                fields: punctuated![
+                unnamed: punctuated![
                     Field {
                         ident: None,
                         vis: Visibility::Restricted(VisRestricted {