Rename ModelElement field element2 -> element (#4000)

Also had to rename some local variables for this refactor, to avoid
shadowing.
diff --git a/lib/src/element_type.dart b/lib/src/element_type.dart
index 7b7cabf..df8185b 100644
--- a/lib/src/element_type.dart
+++ b/lib/src/element_type.dart
@@ -322,7 +322,7 @@
   @internal
   @override
   CommentReferable get definingCommentReferable =>
-      ModelElement.forElement(modelElement.element2, packageGraph);
+      ModelElement.forElement(modelElement.element, packageGraph);
 }
 
 /// Any callable [ElementType] will mix-in this class, whether anonymous or not,
diff --git a/lib/src/generator/generator_backend.dart b/lib/src/generator/generator_backend.dart
index f2658aa..43577ce 100644
--- a/lib/src/generator/generator_backend.dart
+++ b/lib/src/generator/generator_backend.dart
@@ -85,9 +85,9 @@
         isSidebar ? '' : data.htmlBase,
       );
     }
-    var element = data.self;
+    var e = data.self;
     writer.write(filename, content,
-        element: element is Warnable ? element : null);
+        element: e is Warnable ? e : null);
   }
 
   /// Emits JSON describing the [categories] defined by the package.
diff --git a/lib/src/generator/generator_frontend.dart b/lib/src/generator/generator_frontend.dart
index 9dcd8da..49caad3 100644
--- a/lib/src/generator/generator_frontend.dart
+++ b/lib/src/generator/generator_frontend.dart
@@ -149,7 +149,7 @@
       for (var lib in package.libraries.whereDocumented) {
         if (!multiplePackages) {
           logInfo('Generating docs for library ${lib.breadcrumbName} from '
-              '${lib.element2.firstFragment.source.uri}...');
+              '${lib.element.firstFragment.source.uri}...');
         }
         if (!lib.isAnonymous && !lib.hasDocumentation) {
           packageGraph.warnOnElement(lib, PackageWarning.noLibraryLevelDocs);
diff --git a/lib/src/generator/templates.runtime_renderers.dart b/lib/src/generator/templates.runtime_renderers.dart
index 6bcfefc..c425dff 100644
--- a/lib/src/generator/templates.runtime_renderers.dart
+++ b/lib/src/generator/templates.runtime_renderers.dart
@@ -219,8 +219,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -238,7 +238,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -1669,8 +1669,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -1679,7 +1679,7 @@
                           'Element2',
                         ),
 
-                isNullValue: (CT_ c) => c.element2 == null,
+                isNullValue: (CT_ c) => c.element == null,
 
                 renderValue: (
                   CT_ c,
@@ -1688,7 +1688,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -2597,8 +2597,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -2616,7 +2616,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -3395,8 +3395,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -3414,7 +3414,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -4566,8 +4566,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -4585,7 +4585,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -6446,8 +6446,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -6465,7 +6465,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -7069,8 +7069,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -7088,7 +7088,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -7618,8 +7618,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -7637,7 +7637,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -8349,8 +8349,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -8368,7 +8368,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -9460,8 +9460,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -9479,7 +9479,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -11740,8 +11740,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -11759,7 +11759,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -13228,8 +13228,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -13247,7 +13247,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -14993,8 +14993,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -15012,7 +15012,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -15858,8 +15858,8 @@
             CT_,
             () => {
               ..._Renderer_InheritingContainer.propertyMap<CT_>(),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -15877,7 +15877,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -16646,8 +16646,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -16665,7 +16665,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -17732,8 +17732,8 @@
               ..._Renderer_ModelFunctionTyped.propertyMap<CT_>(),
               ..._Renderer_Categorization.propertyMap<CT_>(),
               ..._Renderer_Categorization.propertyMap<CT_>(),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -17751,7 +17751,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -17926,8 +17926,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -17945,7 +17945,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -19220,8 +19220,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -19230,7 +19230,7 @@
                           'Element2',
                         ),
 
-                isNullValue: (CT_ c) => c.element2 == null,
+                isNullValue: (CT_ c) => c.element == null,
 
                 renderValue: (
                   CT_ c,
@@ -19239,7 +19239,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -20405,8 +20405,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -20424,7 +20424,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -23749,8 +23749,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -23768,7 +23768,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -24179,8 +24179,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -24198,7 +24198,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -24870,8 +24870,8 @@
                   );
                 },
               ),
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -24889,7 +24889,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -25571,8 +25571,8 @@
       _propertyMapCache.putIfAbsent(
             CT_,
             () => {
-              'element2': Property(
-                getValue: (CT_ c) => c.element2,
+              'element': Property(
+                getValue: (CT_ c) => c.element,
                 renderVariable:
                     (CT_ c, Property<CT_> self, List<String> remainingNames) =>
                         self.renderSimpleVariable(
@@ -25581,7 +25581,7 @@
                           'Element2',
                         ),
 
-                isNullValue: (CT_ c) => c.element2 == null,
+                isNullValue: (CT_ c) => c.element == null,
 
                 renderValue: (
                   CT_ c,
@@ -25590,7 +25590,7 @@
                   StringSink sink,
                 ) {
                   renderSimple(
-                    c.element2,
+                    c.element,
                     ast,
                     r.template,
                     sink,
@@ -25771,7 +25771,7 @@
     'documentationComment',
     'documentationFrom',
     'documentationLocal',
-    'element2',
+    'element',
     'elementDocumentation',
     'hasDocumentationComment',
     'hasNodoc',
diff --git a/lib/src/model/accessor.dart b/lib/src/model/accessor.dart
index 594c71d..4bc5a76 100644
--- a/lib/src/model/accessor.dart
+++ b/lib/src/model/accessor.dart
@@ -20,7 +20,7 @@
 class Accessor extends ModelElement {
 
   @override
-  final PropertyAccessorElement2 element2;
+  final PropertyAccessorElement2 element;
 
   /// The combo ([Field] or [TopLevelVariable]) containing this accessor.
   ///
@@ -30,11 +30,11 @@
   // initialized by code inside this library.
   late final GetterSetterCombo enclosingCombo;
 
-  Accessor(this.element2, super.library, super.packageGraph,
+  Accessor(this.element, super.library, super.packageGraph,
       {ExecutableMember? super.originalMember});
 
   @override
-  CharacterLocation? get characterLocation => element2.isSynthetic
+  CharacterLocation? get characterLocation => element.isSynthetic
       ? enclosingCombo.characterLocation
       : super.characterLocation;
 
@@ -43,19 +43,19 @@
       super.originalMember as ExecutableMember?;
 
   late final Callable modelType =
-      getTypeFor((originalMember ?? element2).type, library) as Callable;
+      getTypeFor((originalMember ?? element).type, library) as Callable;
 
-  bool get isSynthetic => element2.isSynthetic;
+  bool get isSynthetic => element.isSynthetic;
 
   /// The [enclosingCombo] where this element was defined.
   late final GetterSetterCombo definingCombo =
-      getModelForElement(element2.variable3!) as GetterSetterCombo;
+      getModelForElement(element.variable3!) as GetterSetterCombo;
 
   String get _sourceCode {
     if (!isSynthetic) {
       return super.sourceCode;
     }
-    var modelNode = packageGraph.getModelNodeFor(definingCombo.element2);
+    var modelNode = packageGraph.getModelNodeFor(definingCombo.element);
     return modelNode == null
         ? ''
         : const HtmlEscape().convert(modelNode.sourceCode);
@@ -101,7 +101,7 @@
   @override
   bool get hasDocumentationComment => isSynthetic
       ? _hasSyntheticDocumentationComment
-      : element2.documentationComment != null;
+      : element.documentationComment != null;
 
   @override
   void warn(
@@ -117,10 +117,10 @@
   }
 
   @override
-  ModelElement get enclosingElement => switch (element2.enclosingElement2) {
+  ModelElement get enclosingElement => switch (element.enclosingElement2) {
         LibraryFragment enclosingCompilationUnit =>
           getModelForElement(enclosingCompilationUnit.element),
-        _ => getModelFor(element2.enclosingElement2, library)
+        _ => getModelFor(element.enclosingElement2, library)
       };
 
   @override
@@ -147,9 +147,9 @@
   @override
   String? get href => enclosingCombo.href;
 
-  bool get isGetter => element2 is GetterElement;
+  bool get isGetter => element is GetterElement;
 
-  bool get isSetter => element2 is SetterElement;
+  bool get isSetter => element is SetterElement;
 
   @override
   Kind get kind => Kind.accessor;
@@ -207,17 +207,17 @@
   @override
   ContainerAccessor? get overriddenElement {
     assert(packageGraph.allLibrariesAdded);
-    final parent = element2.enclosingElement2;
+    final parent = element.enclosingElement2;
     if (parent is! InterfaceElement2) {
       return null;
     }
     for (final supertype in parent.allSupertypes) {
       var accessor = isGetter
           ? supertype.getters
-              .firstWhereOrNull((e) => e.lookupName == element2.lookupName)
+              .firstWhereOrNull((e) => e.lookupName == element.lookupName)
               ?.baseElement
           : supertype.setters
-              .firstWhereOrNull((e) => e.lookupName == element2.lookupName)
+              .firstWhereOrNull((e) => e.lookupName == element.lookupName)
               ?.baseElement;
       if (accessor == null) {
         continue;
@@ -228,7 +228,7 @@
           parentContainer.declaredFields.where((f) => !f.isStatic);
       final fieldName = accessor.lookupName?.replaceFirst('=', '');
       final foundField =
-          possibleFields.firstWhereOrNull((f) => f.element2.name3 == fieldName);
+          possibleFields.firstWhereOrNull((f) => f.element.name3 == fieldName);
       if (foundField == null) {
         continue;
       }
diff --git a/lib/src/model/canonicalization.dart b/lib/src/model/canonicalization.dart
index df0f7d3..a6dc991 100644
--- a/lib/src/model/canonicalization.dart
+++ b/lib/src/model/canonicalization.dart
@@ -14,13 +14,13 @@
 /// which exports this [ModelElement], ideally in its library's package.
 Library? canonicalLibraryCandidate(ModelElement modelElement) {
   var thisAndExported =
-      modelElement.packageGraph.libraryExports[modelElement.library.element2];
+      modelElement.packageGraph.libraryExports[modelElement.library.element];
   if (thisAndExported == null) {
     return null;
   }
 
   // Since we're looking for a library, go up in the tree until we find it.
-  var topLevelElement = modelElement.element2;
+  var topLevelElement = modelElement.element;
   while (topLevelElement.enclosingElement2 is! LibraryElement2 &&
       topLevelElement.enclosingElement2 != null) {
     topLevelElement = topLevelElement.enclosingElement2!;
@@ -36,7 +36,7 @@
     if (!l.isPublic) return false;
     if (l.package.documentedWhere == DocumentLocation.missing) return false;
     if (modelElement is Library) return true;
-    var lookup = l.element2.exportNamespace.definedNames2[topLevelElementName];
+    var lookup = l.element.exportNamespace.definedNames2[topLevelElementName];
     return topLevelElement ==
         (lookup is PropertyAccessorElement2 ? lookup.variable3 : lookup);
   }).toList(growable: true);
@@ -124,7 +124,7 @@
 
   /// Calculates a candidate for the canonical library of [_modelElement], among [libraries].
   Library canonicalLibraryCandidate(Iterable<Library> libraries) {
-    var locationPieces = _getElementLocation(_modelElement.element2)
+    var locationPieces = _getElementLocation(_modelElement.element)
         .split(_locationSplitter)
         .where((s) => s.isNotEmpty)
         .toSet();
diff --git a/lib/src/model/category.dart b/lib/src/model/category.dart
index 4ede4b5..6d3c1d3 100644
--- a/lib/src/model/category.dart
+++ b/lib/src/model/category.dart
@@ -80,7 +80,7 @@
 
 
   @override
-  Element2? get element2 => null;
+  Element2? get element => null;
 
   @override
   String get name => _categoryDefinition.displayName;
diff --git a/lib/src/model/class.dart b/lib/src/model/class.dart
index be164d0..cbf60cb 100644
--- a/lib/src/model/class.dart
+++ b/lib/src/model/class.dart
@@ -17,7 +17,7 @@
   @override
 
   @override
-  final ClassElement2 element2;
+  final ClassElement2 element;
 
   @override
   late final List<ModelElement> allModelElements = [
@@ -45,10 +45,10 @@
     ...interfaceElements.expandInheritanceChain,
   ];
 
-  Class(this.element2, Library library, PackageGraph packageGraph)
+  Class(this.element, Library library, PackageGraph packageGraph)
       : super(library, packageGraph) {
-    if (element2.name3 == 'Object' &&
-        library.element2.name3 == 'dart.core' &&
+    if (element.name3 == 'Object' &&
+        library.element.name3 == 'dart.core' &&
         package.name == 'Dart') {
       packageGraph.objectClass = this;
     }
@@ -58,31 +58,31 @@
   String get fileName => '$name-class.html';
 
   @override
-  bool get isAbstract => element2.isAbstract;
+  bool get isAbstract => element.isAbstract;
 
   @override
-  bool get isBase => element2.isBase && !element2.isSealed;
+  bool get isBase => element.isBase && !element.isSealed;
 
   bool get isErrorOrException {
     bool isError(InterfaceElement2 e) =>
         e.library2.isDartCore && (e.name3 == 'Exception' || e.name3 == 'Error');
 
-    if (isError(element2)) return true;
-    return element2.allSupertypes.map((t) => t.element3).any(isError);
+    if (isError(element)) return true;
+    return element.allSupertypes.map((t) => t.element3).any(isError);
   }
 
   @override
-  bool get isFinal => element2.isFinal && !element2.isSealed;
+  bool get isFinal => element.isFinal && !element.isSealed;
 
   @override
   bool get isImplementableInterface =>
-      element2.isInterface && !element2.isSealed;
+      element.isInterface && !element.isSealed;
 
   @override
-  bool get isMixinClass => element2.isMixinClass;
+  bool get isMixinClass => element.isMixinClass;
 
   @override
-  bool get isSealed => element2.isSealed;
+  bool get isSealed => element.isSealed;
 
   @override
   Kind get kind => Kind.class_;
diff --git a/lib/src/model/comment_referable.dart b/lib/src/model/comment_referable.dart
index 39c0e48..1816dbe 100644
--- a/lib/src/model/comment_referable.dart
+++ b/lib/src/model/comment_referable.dart
@@ -59,7 +59,7 @@
       if (result != null) {
         if (result is Prefix &&
             result.name == '_' &&
-            library!.element2.featureSet.isEnabled(Feature.wildcard_variables)) {
+            library!.element.featureSet.isEnabled(Feature.wildcard_variables)) {
           // A wildcard import prefix is non-binding.
           continue;
         }
diff --git a/lib/src/model/constructor.dart b/lib/src/model/constructor.dart
index b369b0b..8a38656 100644
--- a/lib/src/model/constructor.dart
+++ b/lib/src/model/constructor.dart
@@ -16,21 +16,21 @@
   @override
 
   @override
-  final ConstructorElement2 element2;
+  final ConstructorElement2 element;
 
-  Constructor(this.element2, super.library, super.packageGraph);
+  Constructor(this.element, super.library, super.packageGraph);
 
   @override
   CharacterLocation? get characterLocation {
-    if (element2.isSynthetic) {
+    if (element.isSynthetic) {
       // Make warnings for a synthetic constructor refer to somewhere reasonable
       // since a synthetic constructor has no definition independent of the
       // parent class.
       return enclosingElement.characterLocation;
     }
     final lineInfo = unitElement.lineInfo;
-    var offset = element2.firstFragment.nameOffset2 ??
-        (element2.firstFragment as ConstructorElementImpl).typeNameOffset;
+    var offset = element.firstFragment.nameOffset2 ??
+        (element.firstFragment as ConstructorElementImpl).typeNameOffset;
     if (offset != null && offset >= 0) {
       return lineInfo.getLocation(offset);
     }
@@ -40,12 +40,12 @@
   @override
   bool get isPublic {
     if (!super.isPublic) return false;
-    if (element2.hasPrivateName) return false;
-    var class_ = element2.enclosingElement2;
+    if (element.hasPrivateName) return false;
+    var class_ = element.enclosingElement2;
     // Enums cannot be explicitly constructed or extended.
     if (class_ is EnumElement2) return false;
     if (class_ is ClassElement2) {
-      if (element2.isFactory) return true;
+      if (element.isFactory) return true;
       if (class_.isSealed ||
           (class_.isAbstract && class_.isFinal) ||
           (class_.isAbstract && class_.isInterface)) {
@@ -64,7 +64,7 @@
 
   @override
   Container get enclosingElement =>
-      getModelFor(element2.enclosingElement2, library) as Container;
+      getModelFor(element.enclosingElement2, library) as Container;
 
   @override
   String get fileName =>
@@ -87,28 +87,28 @@
   String get fullyQualifiedName => '${library.name}.$name';
 
   @override
-  bool get isConst => element2.isConst;
+  bool get isConst => element.isConst;
 
-  bool get isUnnamedConstructor => element2.name3 == 'new';
+  bool get isUnnamedConstructor => element.name3 == 'new';
 
-  bool get isFactory => element2.isFactory;
+  bool get isFactory => element.isFactory;
 
   @override
   Kind get kind => Kind.constructor;
 
   late final Callable modelType =
-      getTypeFor(element2.type, library) as Callable;
+      getTypeFor(element.type, library) as Callable;
 
   @override
   String get name =>
       // TODO(jcollins-g): After the old lookup code is retired, rationalize
       // [name] around the conventions used in referenceChildren and replace
       // code there and elsewhere with simple references to the name.
-      '${enclosingElement.name}.${element2.name3}';
+      '${enclosingElement.name}.${element.name3}';
 
   @override
   String get nameWithGenerics {
-    var constructorName = element2.name3!;
+    var constructorName = element.name3!;
     if (constructorName == 'new') {
       return '${enclosingElement.name}$genericParameters';
     }
@@ -117,7 +117,7 @@
 
   String? get shortName {
     if (name.contains('.')) {
-      return name.substring(element2.enclosingElement2.name3!.length + 1);
+      return name.substring(element.enclosingElement2.name3!.length + 1);
     } else {
       return name;
     }
@@ -135,7 +135,7 @@
         };
 
     var parameterElements = parameters.map((parameter) {
-      var e = dereferenceParameter(parameter.element2);
+      var e = dereferenceParameter(parameter.element);
       return e == null ? parameter : getModelForElement(e);
     });
     return {
@@ -146,5 +146,5 @@
 
   @override
   String get referenceName =>
-      isUnnamedConstructor ? enclosingElement.name : element2.name3!;
+      isUnnamedConstructor ? enclosingElement.name : element.name3!;
 }
diff --git a/lib/src/model/container.dart b/lib/src/model/container.dart
index 6f9d7fd..e74e6d2 100644
--- a/lib/src/model/container.dart
+++ b/lib/src/model/container.dart
@@ -32,7 +32,7 @@
   Container(super.library, super.packageGraph);
 
   @override
-  Element2 get element2;
+  Element2 get element;
 
   // TODO(jcollins-g): Implement a ContainerScope that flattens supertypes?
   @override
@@ -41,20 +41,20 @@
   @override
   bool get hasParameters => false;
 
-  bool get isExtension => element2 is ExtensionElement2;
+  bool get isExtension => element is ExtensionElement2;
 
   /// Whether this is an enum.
-  bool get isEnum => element2 is EnumElement2;
+  bool get isEnum => element is EnumElement2;
 
   /// Whether this is an interface (e.g. class, enum, mixin, or extension type).
-  bool get isInterface => element2 is InterfaceElement2;
+  bool get isInterface => element is InterfaceElement2;
 
   /// Whether this is a mixin.
-  bool get isMixin => element2 is MixinElement2;
+  bool get isMixin => element is MixinElement2;
 
   /// Whether this container represents the Object class from 'dart:core'.
   bool get isDartCoreObject =>
-      element2.name3 == 'Object' && element2.library2?.name3 == 'dart.core';
+      element.name3 == 'Object' && element.library2?.name3 == 'dart.core';
 
   /// The model elements of all of the members of this container, including
   /// declared and inherited ones.
@@ -161,7 +161,7 @@
   bool containsElement(Element2? element) => _allElements.contains(element);
 
   late final Set<Element2> _allElements =
-      allModelElements.map((e) => e.element2).toSet();
+      allModelElements.map((e) => e.element).toSet();
 
   bool get hasPublicStaticFields => staticFields.any((e) => e.isPublic);
 
diff --git a/lib/src/model/container_member.dart b/lib/src/model/container_member.dart
index 7f6580a..c5f9c01 100644
--- a/lib/src/model/container_member.dart
+++ b/lib/src/model/container_member.dart
@@ -29,7 +29,7 @@
   @protected
   @visibleForTesting
   late final Container definingEnclosingContainer =
-      getModelForElement(element2.enclosingElement2!) as Container;
+      getModelForElement(element.enclosingElement2!) as Container;
 
   @override
   Set<Attribute> get attributes => {
diff --git a/lib/src/model/documentation.dart b/lib/src/model/documentation.dart
index 3e94ed6..88e33bd 100644
--- a/lib/src/model/documentation.dart
+++ b/lib/src/model/documentation.dart
@@ -41,7 +41,7 @@
         _warnable.isCanonical,
         "generating docs for non-canonical element: '$_warnable' "
         "('${_warnable.runtimeType}', ${_warnable.hashCode}), representing "
-        "'${_warnable.element2}'",
+        "'${_warnable.element}'",
       );
       return _asHtml;
     }
diff --git a/lib/src/model/documentation_comment.dart b/lib/src/model/documentation_comment.dart
index 174ffb6..0d7522e 100644
--- a/lib/src/model/documentation_comment.dart
+++ b/lib/src/model/documentation_comment.dart
@@ -41,7 +41,7 @@
 mixin DocumentationComment
     implements Documentable, Warnable, Locatable, SourceCode {
   @override
-  Element2 get element2;
+  Element2 get element;
 
   List<DocumentationComment>? _documentationFrom;
 
@@ -55,7 +55,7 @@
         if (!hasDocumentationComment && self.overriddenElement != null) {
           return self.overriddenElement!.documentationFrom;
         } else if (self.isInherited) {
-          return packageGraph.getModelForElement(element2).documentationFrom;
+          return packageGraph.getModelForElement(element).documentationFrom;
         } else {
           return [this];
         }
@@ -70,15 +70,15 @@
 
   /// The rawest form of the documentation comment, including comment delimiters
   /// like `///`, `//`, `/*`, `*/`.
-  String get documentationComment => (element2 is Annotatable)
-      ? (element2 as Annotatable).documentationComment ?? ''
+  String get documentationComment => (element is Annotatable)
+      ? (element as Annotatable).documentationComment ?? ''
       : '';
 
   /// Whether `this` has a synthetic/inherited or local documentation comment,
   /// and false otherwise.
   bool get hasDocumentationComment =>
-      element2 is Annotatable &&
-      (element2 as Annotatable).documentationComment != null;
+      element is Annotatable &&
+      (element as Annotatable).documentationComment != null;
 
   /// Whether the raw documentation comment is considered to be 'nodoc', an
   /// attribute indicating that any documentation should not be included in
@@ -91,7 +91,7 @@
   /// * the documentation comment contains the `@nodoc` dartdoc directive.
   late final bool hasNodoc = () {
     if (packageGraph
-        .configSetsNodocFor(element2.library2!.firstFragment.source.fullName)) {
+        .configSetsNodocFor(element.library2!.firstFragment.source.fullName)) {
       return true;
     }
     if (!hasDocumentationComment) {
diff --git a/lib/src/model/dynamic.dart b/lib/src/model/dynamic.dart
index 787b1b0..03f4980 100644
--- a/lib/src/model/dynamic.dart
+++ b/lib/src/model/dynamic.dart
@@ -11,13 +11,13 @@
 class Dynamic extends ModelElement with HasNoPage {
  
    @override
-   final Element2 element2;
+   final Element2 element;
 
-  Dynamic(this.element2, PackageGraph packageGraph)
+  Dynamic(this.element, PackageGraph packageGraph)
       : super(Library.sentinel, packageGraph);
 
   UndefinedElementType get modelType =>
-      throw UnimplementedError('(${element2.runtimeType}) $element2');
+      throw UnimplementedError('(${element.runtimeType}) $element');
 
   /// `dynamic` is not a real object, and so we can't document it, so there
   /// can be nothing canonical for it.
diff --git a/lib/src/model/enum.dart b/lib/src/model/enum.dart
index 5ad9ae8..bf6f965 100644
--- a/lib/src/model/enum.dart
+++ b/lib/src/model/enum.dart
@@ -12,9 +12,9 @@
 class Enum extends InheritingContainer with Constructable, MixedInTypes {
  
   @override
-  final EnumElement2 element2;
+  final EnumElement2 element;
 
-  Enum(this.element2, super.library, super.packageGraph);
+  Enum(this.element, super.library, super.packageGraph);
 
   @override
   late final List<ModelElement> allModelElements = [
@@ -91,7 +91,7 @@
 
   @override
   bool get hasConstantValueForDisplay {
-    final enum_ = element2.enclosingElement2 as EnumElement2;
+    final enum_ = element.enclosingElement2 as EnumElement2;
     final enumHasDefaultConstructor =
         enum_.constructors2.any((c) => c.isDefaultConstructor);
     // If this enum does not have any explicit constructors (and so only has a
@@ -102,7 +102,7 @@
 
   @override
   String get constantValueBase =>
-      element2.library2.featureSet.isEnabled(Feature.enhanced_enums)
+      element.library2.featureSet.isEnabled(Feature.enhanced_enums)
           ? super.constantValueBase
           : renderedName;
 
diff --git a/lib/src/model/extension.dart b/lib/src/model/extension.dart
index b70fbfd..7edce77 100644
--- a/lib/src/model/extension.dart
+++ b/lib/src/model/extension.dart
@@ -20,12 +20,12 @@
 /// setters, operators).
 class Extension extends Container {
   @override
-  final ExtensionElement2 element2;
+  final ExtensionElement2 element;
 
   late final ElementType extendedElement =
-      getTypeFor(element2.extendedType, library);
+      getTypeFor(element.extendedType, library);
 
-  Extension(this.element2, super.library, super.packageGraph);
+  Extension(this.element, super.library, super.packageGraph);
 
   /// Whether this extension applies to every static type.
   bool get alwaysApplies {
@@ -49,10 +49,10 @@
     if (extendedType is DynamicType || extendedType is VoidType) {
       return true;
     }
-    extendedType = library.element2.typeSystem.promoteToNonNull(extendedType);
+    extendedType = library.element.typeSystem.promoteToNonNull(extendedType);
     var otherType = container.modelType.type;
     if (otherType is InterfaceType) {
-      otherType = (library.element2.typeSystem as TypeSystemImpl)
+      otherType = (library.element.typeSystem as TypeSystemImpl)
           .instantiateInterfaceToBounds2(
         element: otherType.element3 as InterfaceElementImpl2,
         nullabilitySuffix: NullabilitySuffix.none,
@@ -61,7 +61,7 @@
       for (var superType in [otherType, ...otherType.allSupertypes]) {
         var isSameBaseType = superType.element3 == extendedType.element3;
         if (isSameBaseType &&
-            library.element2.typeSystem.isSubtypeOf(extendedType, superType)) {
+            library.element.typeSystem.isSubtypeOf(extendedType, superType)) {
           return true;
         }
       }
@@ -81,7 +81,7 @@
       instanceFields.wherePublic.toList(growable: false)..sort(byName);
 
   @override
-  late final List<Method> declaredMethods = element2.methods2
+  late final List<Method> declaredMethods = element.methods2
       .map((e) => getModelFor(e, library, enclosingContainer: this) as Method)
       .toList(growable: false);
 
@@ -100,10 +100,10 @@
   ]..sort();
 
   @override
-  String get name => element2.name3 == null ? '' : super.name;
+  String get name => element.name3 == null ? '' : super.name;
 
   @override
-  late final List<Field> declaredFields = element2.fields2.map((field) {
+  late final List<Field> declaredFields = element.fields2.map((field) {
     ContainerAccessor? getter, setter;
     final fieldGetter = field.getter2;
     if (fieldGetter != null) {
@@ -120,7 +120,7 @@
   }).toList(growable: false);
 
   @override
-  late final List<TypeParameter> typeParameters = element2.typeParameters2
+  late final List<TypeParameter> typeParameters = element.typeParameters2
       .map((typeParameter) => getModelFor(
           typeParameter,
           getModelForElement(typeParameter.enclosingElement2!.library2!)
diff --git a/lib/src/model/extension_type.dart b/lib/src/model/extension_type.dart
index 623f810..71239eb 100644
--- a/lib/src/model/extension_type.dart
+++ b/lib/src/model/extension_type.dart
@@ -12,12 +12,12 @@
 class ExtensionType extends InheritingContainer with Constructable {
 
   @override
-  final ExtensionTypeElement2  element2;
+  final ExtensionTypeElement2  element;
 
   late final ElementType representationType =
-      getTypeFor(element2.representation2.type, library);
+      getTypeFor(element.representation2.type, library);
 
-  ExtensionType(this.element2, super.library, super.packageGraph);
+  ExtensionType(this.element, super.library, super.packageGraph);
 
   @override
   Library get enclosingElement => library;
@@ -41,7 +41,7 @@
   bool get isSealed => false;
 
   @override
-  late final List<Field> declaredFields = element2.fields2.map((field) {
+  late final List<Field> declaredFields = element.fields2.map((field) {
     ContainerAccessor? getter, setter;
     final fieldGetter = field.getter2;
     if (fieldGetter != null) {
diff --git a/lib/src/model/field.dart b/lib/src/model/field.dart
index ae9aa76..e9474c9 100644
--- a/lib/src/model/field.dart
+++ b/lib/src/model/field.dart
@@ -13,7 +13,7 @@
     with GetterSetterCombo, ContainerMember, Inheritable {
  
   @override
-  final FieldElement2 element2;
+  final FieldElement2 element;
 
   @override
   final ContainerAccessor? getter;
@@ -28,7 +28,7 @@
   final Container enclosingElement;
 
   Field(
-    this.element2,
+    this.element,
     super.library,
     super.packageGraph,
     this.getter,
@@ -36,7 +36,7 @@
   )   :
         isInherited = false,
         enclosingElement =
-            ModelElement.for_(element2.enclosingElement2, library, packageGraph)
+            ModelElement.for_(element.enclosingElement2, library, packageGraph)
                 as Container,
         assert(getter != null || setter != null) {
     getter?.enclosingCombo = this;
@@ -44,7 +44,7 @@
   }
 
   Field.providedByExtension(
-    this.element2,
+    this.element,
     this.enclosingElement,
     super.library,
     super.packageGraph,
@@ -58,7 +58,7 @@
   }
 
   Field.inherited(
-    this.element2,
+    this.element,
     this.enclosingElement,
     super.library,
     super.packageGraph,
@@ -102,12 +102,12 @@
   }
 
   @override
-  bool get isConst => element2.isConst;
+  bool get isConst => element.isConst;
 
   /// Whether the [FieldElement2] is covariant, or the first parameter for the
   /// setter is covariant.
   @override
-  bool get isCovariant => setter?.isCovariant == true || element2.isCovariant;
+  bool get isCovariant => setter?.isCovariant == true || element.isCovariant;
 
   /// Whether this field is final.
   ///
@@ -116,22 +116,22 @@
   @override
   bool get isFinal {
     if (hasExplicitGetter) return false;
-    return element2.isFinal;
+    return element.isFinal;
   }
 
   @override
-  bool get isLate => isFinal && element2.isLate;
+  bool get isLate => isFinal && element.isLate;
 
-  bool get isStatic => element2.isStatic;
+  bool get isStatic => element.isStatic;
 
   @override
   Kind get kind => isConst ? Kind.constant : Kind.property;
 
   String get fullkind =>
-      element2.isAbstract ? 'abstract $kind' : kind.toString();
+      element.isAbstract ? 'abstract $kind' : kind.toString();
 
   bool get isProvidedByExtension =>
-      element2.enclosingElement2 is ExtensionElement2;
+      element.enclosingElement2 is ExtensionElement2;
 
   /// The [enclosingElement], which is expected to be an [Extension].
   Extension get enclosingExtension => enclosingElement as Extension;
diff --git a/lib/src/model/getter_setter_combo.dart b/lib/src/model/getter_setter_combo.dart
index e5e4fe3..d3d3a84 100644
--- a/lib/src/model/getter_setter_combo.dart
+++ b/lib/src/model/getter_setter_combo.dart
@@ -78,15 +78,15 @@
   bool get hasConstantValueForDisplay => false;
 
   late final Expression? _constantInitializer =
-      (element2.firstFragment as ConstVariableElement).constantInitializer;
+      (element.firstFragment as ConstVariableElement).constantInitializer;
 
   String linkifyConstantValue(String original) {
     if (_constantInitializer is! InstanceCreationExpression) return original;
 
-    var element = _constantInitializer.constructorName.element;
-    if (element == null) return original;
+    var e = _constantInitializer.constructorName.element;
+    if (e == null) return original;
 
-    var target = getModelForElement(element) as Constructor;
+    var target = getModelForElement(e) as Constructor;
     var enclosingElement = target.enclosingElement;
     if (enclosingElement is! Class) return original;
 
@@ -115,10 +115,10 @@
     // explicit setters/getters will be handled by those objects, but
     // if a warning comes up for an enclosing synthetic field we have to
     // put it somewhere.  So pick an accessor.
-    if (element2.isSynthetic) {
+    if (element.isSynthetic) {
       if (hasExplicitGetter) return getter!.characterLocation;
       if (hasExplicitSetter) return setter!.characterLocation;
-      assert(false, 'Field and accessors can not all be synthetic: $element2');
+      assert(false, 'Field and accessors can not all be synthetic: $element');
     }
     return super.characterLocation;
   }
@@ -213,13 +213,13 @@
   @override
   late final String documentationComment =
       _getterSetterDocumentationComment.isEmpty
-          ? (element2 as Annotatable).documentationComment ?? ''
+          ? (element as Annotatable).documentationComment ?? ''
           : _getterSetterDocumentationComment;
 
   @override
   bool get hasDocumentationComment =>
       _getterSetterDocumentationComment.isNotEmpty ||
-      (element2 as Annotatable).documentationComment != null;
+      (element as Annotatable).documentationComment != null;
 
   /// Derives a documentation comment for the combo by copying documentation
   /// from the [getter] and/or [setter].
diff --git a/lib/src/model/inheritable.dart b/lib/src/model/inheritable.dart
index 0ee4af4..f839ee3 100644
--- a/lib/src/model/inheritable.dart
+++ b/lib/src/model/inheritable.dart
@@ -14,7 +14,7 @@
 /// We can search the inheritance chain between this instance and
 /// [definingEnclosingContainer] in [Inheritable.canonicalEnclosingContainer],
 /// for the canonical [Class] closest to where this member was defined.  We
-/// can then know that when we find [Inheritable.element2] inside that [Class]'s
+/// can then know that when we find [Inheritable.element] inside that [Class]'s
 /// namespace, that's the one we should treat as canonical and implementors of
 /// this class can use that knowledge to determine canonicalization.
 ///
@@ -54,7 +54,7 @@
   @override
   Container? computeCanonicalEnclosingContainer() {
     if (isInherited) {
-      var searchElement = element2.baseElement;
+      var searchElement = element.baseElement;
       // TODO(jcollins-g): generate warning if an inherited element's definition
       // is in an intermediate non-canonical class in the inheritance chain?
       Container? found;
@@ -123,8 +123,8 @@
   /// implementation.
   bool _isHiddenInterface(Container? c) =>
       c != null &&
-      c.element2.name3 == 'Interceptor' &&
-      c.element2.library2?.name3 == '_interceptors';
+      c.element.name3 == 'Interceptor' &&
+      c.element.library2?.name3 == '_interceptors';
 
   /// A roughly ordered list of this element's enclosing container's inheritance
   /// chain.
diff --git a/lib/src/model/inheriting_container.dart b/lib/src/model/inheriting_container.dart
index 1b669a7..109d92b 100644
--- a/lib/src/model/inheriting_container.dart
+++ b/lib/src/model/inheriting_container.dart
@@ -19,7 +19,7 @@
 /// Note that [Constructor]s are not considered to be modifiers so a
 /// [hasModifiers] override is not necessary for this mixin.
 mixin Constructable implements InheritingContainer {
-  late final List<Constructor> constructors = element2.constructors2
+  late final List<Constructor> constructors = element.constructors2
       .map((e) => getModelFor(e, library) as Constructor)
       .toList(growable: false);
 
@@ -71,7 +71,7 @@
   InheritingContainer(super.library, super.packageGraph);
 
   DefinedElementType? get supertype {
-    final elementSupertype = element2.supertype;
+    final elementSupertype = element.supertype;
     return elementSupertype == null ||
             elementSupertype.element3.supertype == null
         ? null
@@ -100,7 +100,7 @@
   ];
 
   Iterable<Method> get inheritedMethods {
-    var methodNames = declaredMethods.map((m) => m.element2.name3).toSet();
+    var methodNames = declaredMethods.map((m) => m.element.name3).toSet();
     var inheritedMethodElements = _inheritedElements
         .whereType<MethodElement2>()
         .where((e) =>
@@ -117,7 +117,7 @@
 
   List<Operator> get inheritedOperators {
     var operatorNames =
-        declaredOperators.map((o) => o.element2.lookupName).toSet();
+        declaredOperators.map((o) => o.element.lookupName).toSet();
     var inheritedOperatorElements = _inheritedElements
         .whereType<MethodElement2>()
         .where((e) => e.isOperator && !operatorNames.contains(e.lookupName))
@@ -130,7 +130,7 @@
   }
 
   late final DefinedElementType modelType =
-      getTypeFor(element2.thisType, library) as DefinedElementType;
+      getTypeFor(element.thisType, library) as DefinedElementType;
 
   /// A list of the inherited executable elements, one element per inherited
   /// `Name`.
@@ -140,7 +140,7 @@
   /// case of ties, concrete inherited elements are prefered to non-concrete
   /// ones.
   late final List<ExecutableElement2> _inheritedElements = () {
-    if (element2 case ClassElement2 classElement
+    if (element case ClassElement2 classElement
         when classElement.isDartCoreObject) {
       return const <ExecutableElement2>[];
     }
@@ -148,14 +148,14 @@
     // The mapping of all of the inherited element names to their _concrete_
     // implementation element.
     var concreteInheritanceMap =
-        packageGraph.inheritanceManager.getInheritedConcreteMap(element2);
+        packageGraph.inheritanceManager.getInheritedConcreteMap(element);
     // The mapping of all inherited element names to the nearest inherited
     // element that they resolve to.
     var inheritanceMap =
-        packageGraph.inheritanceManager.getInheritedMap(element2);
+        packageGraph.inheritanceManager.getInheritedMap(element);
 
     var inheritanceChainElements =
-        inheritanceChain.map((c) => c.element2).toList(growable: false);
+        inheritanceChain.map((c) => c.element).toList(growable: false);
 
     // A combined map of names to inherited _concrete_ Elements, and other
     // inherited Elements.
@@ -222,7 +222,7 @@
     // For half-inherited fields, the analyzer only links the non-inherited
     // to the [FieldElement].  Compose our [Field] class by hand by looking up
     // inherited accessors that may be related.
-    for (var field in element2.fields2) {
+    for (var field in element.fields2) {
       var getterElement = field.getter2;
       if (getterElement == null && accessorMap.containsKey(field.name3)) {
         getterElement = accessorMap[field.name3]!
@@ -253,12 +253,12 @@
   }();
 
   @override
-  late final List<Method> declaredMethods = element2.methods2
+  late final List<Method> declaredMethods = element.methods2
       .map((e) => getModelFor(e, library) as Method)
       .toList(growable: false);
 
   @override
-  late final List<TypeParameter> typeParameters = element2.typeParameters2
+  late final List<TypeParameter> typeParameters = element.typeParameters2
       .map((typeParameter) => getModelFor(
           typeParameter,
           getModelForElement(typeParameter.enclosingElement2!.library2!)
@@ -292,12 +292,12 @@
 
   /// The [InheritingContainer] with the library in which [element] is defined.
   InheritingContainer get definingContainer =>
-      getModelFor(element2, library) as InheritingContainer;
+      getModelFor(element, library) as InheritingContainer;
 
   @override
 
   @override
-  InterfaceElement2 get element2;
+  InterfaceElement2 get element;
 
   @override
   Library get enclosingElement => library;
@@ -348,7 +348,7 @@
         for (var extension in potentiallyApplicableExtensionsSorted)
           for (var field in extension.instanceFields)
             getModelForPropertyInducingElement(
-              field.element2,
+              field.element,
               library,
               enclosingContainer: extension,
               getter: field.getter,
@@ -371,7 +371,7 @@
   List<Method> get _extensionInstanceMethods => [
         for (var extension in potentiallyApplicableExtensionsSorted)
           for (var method in extension.instanceMethods)
-            getModelFor(method.element2, library,
+            getModelFor(method.element, library,
                 enclosingContainer: extension) as Method,
       ];
 
@@ -388,7 +388,7 @@
   List<Operator> get _extensionInstanceOperators => [
         for (var extension in potentiallyApplicableExtensionsSorted)
           for (var operator in extension.instanceOperators)
-            getModelFor(operator.element2, library,
+            getModelFor(operator.element, library,
                 enclosingContainer: extension) as Operator,
       ];
 
@@ -426,7 +426,7 @@
 
   @visibleForTesting
   late final List<DefinedElementType> directInterfaces = [
-    for (var interface in element2.interfaces)
+    for (var interface in element.interfaces)
       getTypeFor(interface, library) as DefinedElementType
   ];
 
@@ -497,7 +497,7 @@
     // implements `EfficientLengthIterable<T>` which implements `Iterable<T>`),
     // but there is no chance of type arguments differing, as that is illegal.
     void addInterfaceIfUnique(DefinedElementType type) {
-      var firstPublicSuperElement = type.modelElement.element2;
+      var firstPublicSuperElement = type.modelElement.element;
       if (firstPublicSuperElement is InterfaceElement2) {
         if (interfaceElements.add(firstPublicSuperElement)) {
           interfaces.add(type);
@@ -612,8 +612,8 @@
     var setter = containerAccessorFrom(setterElement);
     // Rebind [getterElement], [setterElement] as [ModelElement.from] can
     // resolve [Member]s.
-    getterElement = getter?.element2;
-    setterElement = setter?.element2;
+    getterElement = getter?.element;
+    setterElement = setter?.element;
     assert(getter != null || setter != null);
     if (field == null) {
       // Pick an appropriate [FieldElement] to represent this element.
@@ -664,7 +664,7 @@
 
 /// Add the ability to support mixed-in types to an [InheritingContainer].
 mixin MixedInTypes on InheritingContainer {
-  late final List<DefinedElementType> mixedInTypes = element2.mixins
+  late final List<DefinedElementType> mixedInTypes = element.mixins
       .map((f) => getTypeFor(f, library) as DefinedElementType)
       .toList(growable: false);
 
diff --git a/lib/src/model/library.dart b/lib/src/model/library.dart
index 50ae6e2..b4ff9f9 100644
--- a/lib/src/model/library.dart
+++ b/lib/src/model/library.dart
@@ -22,7 +22,7 @@
 class Library extends ModelElement
     with Categorization, TopLevelContainer, CanonicalFor {
   @override
-  final LibraryElement2 element2;
+  final LibraryElement2 element;
 
   /// The set of [Element2]s declared directly in this library.
   final Set<Element2> _localElements;
@@ -48,7 +48,7 @@
   /// abstract getter.
   static final Library sentinel = _LibrarySentinel();
 
-  Library._(this.element2, PackageGraph packageGraph, this.package,
+  Library._(this.element, PackageGraph packageGraph, this.package,
       this._restoredUri, this._localElements, this._exportedElements)
       : super(sentinel, packageGraph);
 
@@ -88,20 +88,20 @@
 
   /// Allow scope for Libraries.
   @override
-  Scope get scope => element2.firstFragment.scope;
+  Scope get scope => element.firstFragment.scope;
 
-  bool get isInSdk => element2.isInSdk;
+  bool get isInSdk => element.isInSdk;
 
   @override
   CharacterLocation? get characterLocation {
-    if (element2.firstFragment.nameOffset2 == null) {
+    if (element.firstFragment.nameOffset2 == null) {
       return CharacterLocation(1, 1);
     }
     return super.characterLocation;
   }
 
   @override
-  LibraryFragment get unitElement => element2.library2.firstFragment;
+  LibraryFragment get unitElement => element.library2.firstFragment;
 
   @override
 
@@ -114,7 +114,7 @@
   bool get isPublic {
     if (!super.isPublic) return false;
     final sdkLib =
-        packageGraph.sdkLibrarySources[element2.firstFragment.source];
+        packageGraph.sdkLibrarySources[element.firstFragment.source];
     if (sdkLib != null && (sdkLib.isInternal || !sdkLib.isDocumented)) {
       return false;
     }
@@ -122,7 +122,7 @@
         // TODO(srawlins): Stop supporting a 'name' here.
         config.isLibraryExcluded(name) ||
             config.isLibraryExcluded(
-                element2.firstFragment.source.uri.toString())) {
+                element.firstFragment.source.uri.toString())) {
       return false;
     }
     return true;
@@ -133,7 +133,7 @@
   Map<String, Set<Library>> get _prefixToLibrary {
     var prefixToLibrary = <String, Set<Library>>{};
     // It is possible to have overlapping prefixes.
-    for (var i in element2.firstFragment.libraryImports2) {
+    for (var i in element.firstFragment.libraryImports2) {
       var prefixName = i.prefix2?.element.name3;
       if (prefixName == null) continue;
       // Ignore invalid imports.
@@ -223,7 +223,7 @@
 
   /// Whether a libary is anonymous, either because it has no library directive
   /// or it has a library directive without a name.
-  bool get isAnonymous => element2.name3 == null || element2.name3!.isEmpty;
+  bool get isAnonymous => element.name3 == null || element.name3!.isEmpty;
 
   @override
   Kind get kind => Kind.library;
@@ -233,19 +233,19 @@
 
   @override
   String get name {
-    var source = element2.firstFragment.source;
+    var source = element.firstFragment.source;
     if (source.uri.isScheme('dart')) {
       // There are inconsistencies in library naming + URIs for the Dart
       // SDK libraries; we rationalize them here.
       if (source.uri.toString().contains('/')) {
-        return element2.name3!.replaceFirst('dart.', 'dart:');
+        return element.name3!.replaceFirst('dart.', 'dart:');
       }
       return source.uri.toString();
-    } else if (element2.name3!.isNotEmpty) {
+    } else if (element.name3!.isNotEmpty) {
       // An empty name indicates that the library is "implicitly named" with the
       // empty string. That is, it either has no `library` directive, or it has
       // a `library` directive with no name.
-      return element2.name3!;
+      return element.name3!;
     }
     var baseName = pathContext.basename(source.fullName);
     if (baseName.endsWith('.dart')) {
@@ -269,7 +269,7 @@
 
   /// The path portion of this library's import URI as a 'package:' URI.
   String get breadcrumbName {
-    var source = element2.firstFragment.source;
+    var source = element.firstFragment.source;
     if (source.uri.isScheme('dart')) {
       return name;
     }
@@ -295,7 +295,7 @@
 
   /// The real packageMeta, as opposed to the package we are documenting with.
   late final PackageMeta? packageMeta =
-      packageGraph.packageMetaProvider.fromElement(element2, config.sdkDir);
+      packageGraph.packageMetaProvider.fromElement(element, config.sdkDir);
 
   late final List<Class> classesAndExceptions = [
     ..._localElementsOfType<ClassElement2, Class>(),
@@ -438,7 +438,7 @@
   Map<String, CommentReferable> get referenceChildren {
     var referenceChildrenBuilder = <String, CommentReferable>{};
     var definedNamesModelElements =
-        element2.exportNamespace.definedNames2.values.map(getModelForElement);
+        element.exportNamespace.definedNames2.values.map(getModelForElement);
     referenceChildrenBuilder
         .addAll(definedNamesModelElements.whereNotType<Accessor>().asMapByName);
     // TODO(jcollins-g): warn and get rid of this case where it shows up.
@@ -448,7 +448,7 @@
     for (var MapEntry(key: prefix, value: libraries)
         in _prefixToLibrary.entries) {
       if (prefix == '_' &&
-          element2.featureSet.isEnabled(Feature.wildcard_variables)) {
+          element.featureSet.isEnabled(Feature.wildcard_variables)) {
         // A wildcard import prefix is non-binding.
         continue;
       }
@@ -502,19 +502,19 @@
     ];
     return libraryMembers.map((member) {
       if (member is! GetterSetterCombo) {
-        return getModelForElement(member.element2).fullyQualifiedName;
+        return getModelForElement(member.element).fullyQualifiedName;
       }
       var getter = switch (member.getter) {
-        Accessor accessor => getModelForElement(accessor.element2) as Accessor,
+        Accessor accessor => getModelForElement(accessor.element) as Accessor,
         _ => null,
       };
       var setter = switch (member.setter) {
-        Accessor accessor => getModelForElement(accessor.element2) as Accessor,
+        Accessor accessor => getModelForElement(accessor.element) as Accessor,
         _ => null,
       };
       return getModelForPropertyInducingElement(
-        member.element2 as TopLevelVariableElement2,
-        getModelForElement(member.element2.library2!) as Library,
+        member.element as TopLevelVariableElement2,
+        getModelForElement(member.element.library2!) as Library,
         getter: getter,
         setter: setter,
       ).fullyQualifiedName;
diff --git a/lib/src/model/method.dart b/lib/src/model/method.dart
index 4c20a44..7a3186a 100644
--- a/lib/src/model/method.dart
+++ b/lib/src/model/method.dart
@@ -16,7 +16,7 @@
     with ContainerMember, Inheritable, TypeParameters {
 
   @override
-  final MethodElement2 element2;
+  final MethodElement2 element;
 
   Container? _enclosingContainer;
 
@@ -25,12 +25,12 @@
   @override
   late final List<TypeParameter> typeParameters;
 
-  Method(this.element2, super.library, super.packageGraph)
+  Method(this.element, super.library, super.packageGraph)
       : _isInherited = false {
     _calcTypeParameters();
   }
 
-  Method.inherited(this.element2, this._enclosingContainer, super.library,
+  Method.inherited(this.element, this._enclosingContainer, super.library,
       super.packageGraph,
       {ExecutableMember? super.originalMember})
       : _isInherited = true {
@@ -38,7 +38,7 @@
   }
 
   Method.providedByExtension(
-    this.element2,
+    this.element,
     this._enclosingContainer,
     super.library,
     super.packageGraph, {
@@ -48,7 +48,7 @@
   }
 
   void _calcTypeParameters() {
-    typeParameters = element2.typeParameters2.map((f) {
+    typeParameters = element.typeParameters2.map((f) {
       return getModelFor(f, library) as TypeParameter;
     }).toList(growable: false);
   }
@@ -68,7 +68,7 @@
 
   @override
   Container get enclosingElement => _enclosingContainer ??=
-      getModelFor(element2.enclosingElement2!, library) as Container;
+      getModelFor(element.enclosingElement2!, library) as Container;
 
   @override
   String get aboveSidebarPath => enclosingElement.sidebarPath;
@@ -78,8 +78,8 @@
 
   String get fullkind {
     // A method cannot be abstract and static at the same time.
-    if (element2.isAbstract) return 'abstract $kind';
-    if (element2.isStatic) return 'static $kind';
+    if (element.isAbstract) return 'abstract $kind';
+    if (element.isStatic) return 'static $kind';
     return kind.toString();
   }
 
@@ -96,7 +96,7 @@
   bool get isOperator => false;
 
   bool get isProvidedByExtension =>
-      element2.enclosingElement2 is ExtensionElement2;
+      element.enclosingElement2 is ExtensionElement2;
 
   /// The [enclosingElement], which is expected to be an [Extension].
   Extension get enclosingExtension => enclosingElement as Extension;
@@ -107,7 +107,7 @@
         if (isInherited) Attribute.inherited,
       };
 
-  bool get isStatic => element2.isStatic;
+  bool get isStatic => element.isStatic;
 
   @override
   Kind get kind => Kind.method;
@@ -117,17 +117,17 @@
       super.originalMember as ExecutableMember?;
 
   late final Callable modelType =
-      getTypeFor((originalMember ?? element2).type, library) as Callable;
+      getTypeFor((originalMember ?? element).type, library) as Callable;
 
   @override
   Method? get overriddenElement {
     if (_enclosingContainer is Extension ||
-        element2.enclosingElement2 is ExtensionElement2) {
+        element.enclosingElement2 is ExtensionElement2) {
       return null;
     }
-    var parent = element2.enclosingElement2 as InterfaceElement2;
+    var parent = element.enclosingElement2 as InterfaceElement2;
     for (var t in parent.allSupertypes) {
-      Element2? e = t.getMethod2(element2.name3 ?? '');
+      Element2? e = t.getMethod2(element.name3 ?? '');
       if (e != null) {
         assert(
           e.enclosingElement2 is InterfaceElement2,
diff --git a/lib/src/model/mixin.dart b/lib/src/model/mixin.dart
index 503a29e..1394636 100644
--- a/lib/src/model/mixin.dart
+++ b/lib/src/model/mixin.dart
@@ -14,10 +14,10 @@
 class Mixin extends InheritingContainer {
 
   @override
-  final MixinElement2 element2;
+  final MixinElement2 element;
 
   late final List<ParameterizedElementType> superclassConstraints = [
-    ...element2.superclassConstraints.where((e) => !e.isDartCoreObject).map(
+    ...element.superclassConstraints.where((e) => !e.isDartCoreObject).map(
         (InterfaceType i) => getTypeFor(i, library) as ParameterizedElementType)
   ];
 
@@ -41,7 +41,7 @@
     ...interfaceElements.expandInheritanceChain,
   ];
 
-  Mixin(this.element2, super.library, super.packageGraph);
+  Mixin(this.element, super.library, super.packageGraph);
 
   @override
   @visibleForOverriding
@@ -57,7 +57,7 @@
   bool get isAbstract => false;
 
   @override
-  bool get isBase => element2.isBase;
+  bool get isBase => element.isBase;
 
   @override
   bool get isFinal => false;
diff --git a/lib/src/model/model_element.dart b/lib/src/model/model_element.dart
index 8d20576..07fd419 100644
--- a/lib/src/model/model_element.dart
+++ b/lib/src/model/model_element.dart
@@ -379,7 +379,7 @@
   Iterable<Category?> get displayedCategories => const [];
 
   @override
-  ModelNode? get modelNode => packageGraph.getModelNodeFor(element2);
+  ModelNode? get modelNode => packageGraph.getModelNodeFor(element);
 
   /// This element's [Annotation]s.
   ///
@@ -387,7 +387,7 @@
   /// supposed to be invisible (like `@pragma`). While `null` elements indicate
   /// invalid code from analyzer's perspective, some are present in `sky_engine`
   /// (`@Native`) so we don't want to crash here.
-  late final List<Annotation> annotations = element2.metadata
+  late final List<Annotation> annotations = element.metadata
       .where((m) => m.isVisibleAnnotation)
       .map((m) => Annotation(m, library, packageGraph))
       .toList(growable: false);
@@ -414,7 +414,7 @@
       return false;
     }
 
-    if (element2 case LibraryElement2(:var identifier, :var firstFragment)) {
+    if (element case LibraryElement2(:var identifier, :var firstFragment)) {
       // Private Dart SDK libraries are not public.
       if (identifier.startsWith('dart:_') ||
           identifier.startsWith('dart:nativewrappers/') ||
@@ -429,13 +429,13 @@
       }
     }
 
-    return !element2.hasPrivateName && !hasNodoc;
+    return !element.hasPrivateName && !hasNodoc;
   }();
 
   @override
   late final DartdocOptionContext config =
       DartdocOptionContext.fromContextElement(
-          packageGraph.config, library.element2, packageGraph.resourceProvider);
+          packageGraph.config, library.element, packageGraph.resourceProvider);
 
   bool get hasAttributes => attributes.isNotEmpty;
 
@@ -463,9 +463,9 @@
 
   /// Whether this is a function, or if it is an type alias to a function.
   bool get isCallable =>
-      element2 is FunctionTypedElement2 ||
-      (element2 is TypeAliasElement2 &&
-          (element2 as TypeAliasElement2).aliasedType is FunctionType);
+      element is FunctionTypedElement2 ||
+      (element is TypeAliasElement2 &&
+          (element as TypeAliasElement2).aliasedType is FunctionType);
 
   /// The canonical ModelElement for this ModelElement, or null if there isn't
   /// one.
@@ -499,7 +499,7 @@
   /// A public, documented library which exports this [ModelElement], ideally in
   /// [library]'s package.
   late final Library? canonicalLibrary = () {
-    if (element2.hasPrivateName) {
+    if (element.hasPrivateName) {
       // Privately named elements can never have a canonical library.
       return null;
     }
@@ -547,7 +547,7 @@
       documentationFrom.map((e) => e.documentationLocal).join('<p>'));
 
   @override
-  Element2 get element2;
+  Element2 get element;
 
   @override
   String get location {
@@ -585,13 +585,13 @@
   }();
 
   @override
-  String get sourceFileName => element2.library2!.firstFragment.source.fullName;
+  String get sourceFileName => element.library2!.firstFragment.source.fullName;
 
   @override
   late final CharacterLocation? characterLocation = () {
     final lineInfo = unitElement.lineInfo;
 
-    final nameOffset = element2.firstFragment.nameOffset2;
+    final nameOffset = element.firstFragment.nameOffset2;
     assert(nameOffset != null && nameOffset >= 0,
         'Invalid location data, $nameOffset, for element: $fullyQualifiedName');
     if (nameOffset != null && nameOffset >= 0) {
@@ -601,12 +601,12 @@
   }();
 
   LibraryFragment get unitElement {
-    Fragment? fragment = element2.firstFragment;
+    Fragment? fragment = element.firstFragment;
     while (fragment != null) {
       if (fragment is LibraryFragment) return fragment;
       fragment = fragment.enclosingFragment;
     }
-    throw StateError('Unable to find enclosing LibraryFragment for $element2');
+    throw StateError('Unable to find enclosing LibraryFragment for $element');
   }
 
   bool get hasAnnotations => annotations.isNotEmpty;
@@ -634,8 +634,8 @@
   bool get isDeprecated {
     // If element.metadata is empty, it might be because this is a property
     // where the metadata belongs to the individual getter/setter
-    if (element2.metadata.isEmpty && element2 is PropertyInducingElement2) {
-      var pie = element2 as PropertyInducingElement2;
+    if (element.metadata.isEmpty && element is PropertyInducingElement2) {
+      var pie = element as PropertyInducingElement2;
 
       // The getter or the setter might be null – so the stored value may be
       // `true`, `false`, or `null`
@@ -651,7 +651,7 @@
       // deprecated if both are deprecated.
       return deprecatedValues.every((d) => d);
     }
-    return element2.metadata.any((a) => a.isDeprecated);
+    return element.metadata.any((a) => a.isDeprecated);
   }
 
   @override
@@ -682,8 +682,8 @@
     // If `name` is empty, we probably have the wrong Element association or
     // there's an analyzer issue.
     assert(name.isNotEmpty ||
-        element2.kind == ElementKind.DYNAMIC ||
-        element2.kind == ElementKind.NEVER ||
+        element.kind == ElementKind.DYNAMIC ||
+        element.kind == ElementKind.NEVER ||
         this is ModelFunction);
 
     final href = this.href;
@@ -725,7 +725,7 @@
       _parameterRenderer.renderLinkedParams(parameters, showMetadata: false);
 
   @override
-  String get name => element2.lookupName!;
+  String get name => element.lookupName!;
 
   @override
   String get oneLineDoc => elementDocumentation.asOneLiner;
@@ -746,7 +746,7 @@
   // TODO(srawlins): This really smells like it should just be implemented in
   // the subclasses.
   late final List<Parameter> parameters = () {
-    final e = element2;
+    final e = element;
     if (!isCallable) {
       throw StateError(
           '$e (${e.runtimeType}) cannot have parameters');
@@ -802,7 +802,6 @@
   @internal
   @override
   CommentReferable get definingCommentReferable {
-    var element = element2;
     return getModelForElement(element);
   }
 
diff --git a/lib/src/model/model_function.dart b/lib/src/model/model_function.dart
index ec930e2..9963a8f 100644
--- a/lib/src/model/model_function.dart
+++ b/lib/src/model/model_function.dart
@@ -10,41 +10,41 @@
 
 /// A [ModelElement] for a [TopLevelFunctionElement] that isn't part of a type definition.
 class ModelFunction extends ModelFunctionTyped with Categorization {
-  ModelFunction(TopLevelFunctionElement super.element2, super.library,
+  ModelFunction(TopLevelFunctionElement super.element, super.library,
       super.packageGraph);
 
-  bool get isStatic => element2.isStatic;
+  bool get isStatic => element.isStatic;
 
   @override
-  String get name => element2.name3 ?? '';
+  String get name => element.name3 ?? '';
 
   @override
-  TopLevelFunctionElement get element2 =>
-      super.element2 as TopLevelFunctionElement;
+  TopLevelFunctionElement get element =>
+      super.element as TopLevelFunctionElement;
 
-  bool get isAsynchronous => element2.firstFragment.isAsynchronous;
+  bool get isAsynchronous => element.firstFragment.isAsynchronous;
 }
 
 /// A [ModelElement] for a [FunctionTypedElement2] that is part of an
 /// explicit typedef.
 class ModelFunctionTypedef extends ModelFunctionTyped {
-  ModelFunctionTypedef(super.element2, super.library, super.packageGraph);
+  ModelFunctionTypedef(super.element, super.library, super.packageGraph);
 
   @override
-  String get name => element2.enclosingElement2!.name3!;
+  String get name => element.enclosingElement2!.name3!;
 }
 
 class ModelFunctionTyped extends ModelElement with TypeParameters {
   @override
-  final FunctionTypedElement2 element2;
+  final FunctionTypedElement2 element;
 
   @override
   late final List<TypeParameter> typeParameters = [
-    for (var p in element2.typeParameters2)
+    for (var p in element.typeParameters2)
       getModelFor(p, library) as TypeParameter,
   ];
 
-  ModelFunctionTyped(this.element2, super.library, super.packageGraph);
+  ModelFunctionTyped(this.element, super.library, super.packageGraph);
 
   @override
   Library get enclosingElement => library;
@@ -83,7 +83,7 @@
   Iterable<CommentReferable> get referenceParents => [library];
 
   late final Callable modelType =
-      getTypeFor(element2.type, library) as Callable;
+      getTypeFor(element.type, library) as Callable;
 
   // For use in templates.
   bool get isProvidedByExtension => false;
diff --git a/lib/src/model/never.dart b/lib/src/model/never.dart
index 6e552b8..bc71ef7 100644
--- a/lib/src/model/never.dart
+++ b/lib/src/model/never.dart
@@ -10,9 +10,9 @@
 class NeverType extends ModelElement with HasNoPage {
 
   @override
-  final Element2 element2;
+  final Element2 element;
 
-  NeverType(this.element2, PackageGraph packageGraph)
+  NeverType(this.element, PackageGraph packageGraph)
       : super(Library.sentinel, packageGraph);
 
   /// `Never` is not a real object, and so we can't document it, so there
diff --git a/lib/src/model/package.dart b/lib/src/model/package.dart
index 1367667..980dcfd 100644
--- a/lib/src/model/package.dart
+++ b/lib/src/model/package.dart
@@ -156,7 +156,7 @@
     if (!packageMeta.isSdk) return false;
     final packagePath = packageGraph.packageMeta.dir.path;
     return libraries.any((l) => _pathContext.isWithin(
-        packagePath, l.element2.firstFragment.source.fullName));
+        packagePath, l.element.firstFragment.source.fullName));
   }
 
   /// True if the global config excludes this package by name.
@@ -374,7 +374,7 @@
   final PackageMeta packageMeta;
 
   @override
-  Element2? get element2 => null;
+  Element2? get element => null;
 
   @override
   List<String> get containerOrder => config.packageOrder;
diff --git a/lib/src/model/package_graph.dart b/lib/src/model/package_graph.dart
index 71bece3..4e41d45 100644
--- a/lib/src/model/package_graph.dart
+++ b/lib/src/model/package_graph.dart
@@ -272,15 +272,15 @@
     var commentData = declaration.documentationComment?.data;
 
     void addModelNode(Declaration declaration) {
-      var element = declaration.declaredFragment?.element;
-      if (element == null) {
+      var e = declaration.declaredFragment?.element;
+      if (e == null) {
         throw StateError("Expected '$declaration' to declare an element");
       }
       _modelNodes.putIfAbsent(
-        element,
+        e,
         () => ModelNode(
           declaration,
-          element,
+          e,
           _analysisContext,
           commentData: commentData,
         ),
@@ -398,7 +398,7 @@
       {String? message,
       Iterable<Locatable> referredFrom = const [],
       Iterable<String> extendedDebug = const []}) {
-    var newEntry = (warnable?.element2, kind, message);
+    var newEntry = (warnable?.element, kind, message);
     if (_warnAlreadySeen.contains(newEntry)) {
       return;
     }
@@ -555,7 +555,7 @@
       _previousSizeOfAllLibraries = _allLibraries.keys.length;
       _libraryExports = {};
       for (var library in publicLibraries) {
-        _tagExportsFor(library, library.element2);
+        _tagExportsFor(library, library.element);
       }
     }
     return _libraryExports;
@@ -574,7 +574,7 @@
       _previousSizeOfAllLibraries = _allLibraries.keys.length;
       _libraryExports = {};
       for (var library in publicLibraries) {
-        _tagExportsFor(library, library.element2);
+        _tagExportsFor(library, library.element);
       }
     }
     return _libraryExports;
@@ -631,7 +631,7 @@
       var list = _implementers.putIfAbsent(implemented, () => []);
       // TODO(srawlins): This would be more efficient if we created a
       // SplayTreeSet keyed off of `.element`.
-      if (!list.any((l) => l.element2 == implementer.element2)) {
+      if (!list.any((l) => l.element == implementer.element)) {
         list.add(implementer);
       }
     }
@@ -643,16 +643,16 @@
             supertype.modelElement as InheritingContainer, container);
       }
       if (container is Class) {
-        for (var element in container.mixedInTypes.modelElements) {
-          checkAndAddContainer(element, container);
+        for (var modelElement in container.mixedInTypes.modelElements) {
+          checkAndAddContainer(modelElement, container);
         }
       } else if (container is Mixin) {
-        for (var element in container.superclassConstraints.modelElements) {
-          checkAndAddContainer(element, container);
+        for (var modelElement in container.superclassConstraints.modelElements) {
+          checkAndAddContainer(modelElement, container);
         }
       }
-      for (var element in container.publicInterfaceElements) {
-        checkAndAddContainer(element, container);
+      for (var modelElement in container.publicInterfaceElements) {
+        checkAndAddContainer(modelElement, container);
       }
     }
 
@@ -700,8 +700,8 @@
       'Object';
 
   bool isAnnotationVisible(Class class_) =>
-      class_.element2.name3 == 'pragma' &&
-      class_.element2.library2.name3 == 'dart.core';
+      class_.element.name3 == 'pragma' &&
+      class_.element.library2.name3 == 'dart.core';
 
   @override
   String toString() {
@@ -733,7 +733,7 @@
       {Container? preferredClass}) {
     assert(allLibrariesAdded);
     if (modelElement == null) return null;
-    var e = modelElement.element2;
+    var e = modelElement.element;
     if (preferredClass != null) {
       var canonicalClass =
           findCanonicalModelElementFor(preferredClass) as Container?;
@@ -765,7 +765,7 @@
         e is FieldElement2 ||
         e is PropertyAccessorElement2) {
       var declarationModelElement = getModelForElement(declaration);
-      e = declarationModelElement.element2;
+      e = declarationModelElement.element;
       canonicalModelElement = _findCanonicalModelElementForAmbiguous(
           declarationModelElement, library,
           preferredClass: preferredClass as InheritingContainer?);
@@ -801,22 +801,22 @@
   ModelElement? _findCanonicalModelElementForAmbiguous(
       ModelElement modelElement, Library? lib,
       {InheritingContainer? preferredClass}) {
-    var element = modelElement.element2;
+    var elem = modelElement.element;
     var candidates = <ModelElement>{};
     if (lib != null) {
       var constructedWithKey = allConstructedModelElements[
-          ConstructedModelElementsKey(element, null)];
+          ConstructedModelElementsKey(elem, null)];
       if (constructedWithKey != null) {
         candidates.add(constructedWithKey);
       }
       var constructedWithKeyWithClass = allConstructedModelElements[
-          ConstructedModelElementsKey(element, preferredClass)];
+          ConstructedModelElementsKey(elem, preferredClass)];
       if (constructedWithKeyWithClass != null) {
         candidates.add(constructedWithKeyWithClass);
       }
       if (candidates.isEmpty) {
         candidates = {
-          ...?allInheritableElements[InheritableElementsKey(element, lib)]
+          ...?allInheritableElements[InheritableElementsKey(elem, lib)]
               ?.where((me) => me.isCanonical),
         };
       }
@@ -826,7 +826,7 @@
         findCanonicalModelElementFor(modelElement.enclosingElement);
     if (canonicalClass is InheritingContainer) {
       candidates.addAll(canonicalClass.allCanonicalModelElements
-          .where((m) => m.element2 == element));
+          .where((m) => m.element == elem));
     }
 
     var matches = {...candidates.where((me) => me.isCanonical)};
diff --git a/lib/src/model/parameter.dart b/lib/src/model/parameter.dart
index 846683f..7b4d573 100644
--- a/lib/src/model/parameter.dart
+++ b/lib/src/model/parameter.dart
@@ -13,25 +13,25 @@
 class Parameter extends ModelElement with HasNoPage {
 
   @override
-  final FormalParameterElement element2;
+  final FormalParameterElement element;
 
-  Parameter(this.element2, super.library, super.packageGraph,
+  Parameter(this.element, super.library, super.packageGraph,
       {ParameterMember? super.originalMember});
 
   String? get defaultValue =>
-      hasDefaultValue ? element2.defaultValueCode : null;
+      hasDefaultValue ? element.defaultValueCode : null;
 
   @override
   ModelElement? get enclosingElement {
-    final enclosingElement = element2.enclosingElement2;
+    final enclosingElement = element.enclosingElement2;
     return enclosingElement == null
         ? null
         : getModelFor(enclosingElement, library);
   }
 
   bool get hasDefaultValue {
-    return element2.defaultValueCode != null &&
-        element2.defaultValueCode!.isNotEmpty;
+    return element.defaultValueCode != null &&
+        element.defaultValueCode!.isNotEmpty;
   }
 
   @override
@@ -39,7 +39,7 @@
 
   @override
   String get htmlId {
-    final enclosingElement = element2.enclosingElement2;
+    final enclosingElement = element.enclosingElement2;
     if (enclosingElement == null) {
       return 'param-$name';
     }
@@ -62,22 +62,22 @@
   }
 
   @override
-  int get hashCode => element2.hashCode;
+  int get hashCode => element.hashCode;
 
   @override
   bool operator ==(Object other) =>
-      other is Parameter && (element2.type == other.element2.type);
+      other is Parameter && (element.type == other.element.type);
 
-  bool get isCovariant => element2.isCovariant;
+  bool get isCovariant => element.isCovariant;
 
-  bool get isRequiredPositional => element2.isRequiredPositional;
+  bool get isRequiredPositional => element.isRequiredPositional;
 
-  bool get isNamed => element2.isNamed;
+  bool get isNamed => element.isNamed;
 
-  bool get isOptionalPositional => element2.isOptionalPositional;
+  bool get isOptionalPositional => element.isOptionalPositional;
 
   /// Only true if this is a required named parameter.
-  bool get isRequiredNamed => element2.isRequiredNamed;
+  bool get isRequiredNamed => element.isRequiredNamed;
 
   @override
   Kind get kind => Kind.parameter;
@@ -105,5 +105,5 @@
       super.originalMember as ParameterMember?;
 
   late final ElementType modelType =
-      getTypeFor((originalMember ?? element2).type, library);
+      getTypeFor((originalMember ?? element).type, library);
 }
diff --git a/lib/src/model/prefix.dart b/lib/src/model/prefix.dart
index 7c2e9aa..c50836d 100644
--- a/lib/src/model/prefix.dart
+++ b/lib/src/model/prefix.dart
@@ -15,11 +15,11 @@
 class Prefix extends ModelElement with HasNoPage {
 
   @override
-  final PrefixElement2 element2;
+  final PrefixElement2 element;
 
   /// [library] is the library the prefix is defined in, not the [Library]
   /// referred to by the [PrefixElement2].
-  Prefix(this.element2, super.library, super.packageGraph);
+  Prefix(this.element, super.library, super.packageGraph);
 
   @override
   bool get isCanonical => false;
@@ -31,10 +31,10 @@
 
   LibraryElement2? _getImportedLibraryElement() {
     final importLists =
-        library.element2.fragments.map((fragment) => fragment.libraryImports2);
+        library.element.fragments.map((fragment) => fragment.libraryImports2);
     return importLists
         .expand((import) => import)
-        .firstWhere((i) => i.prefix2?.element == element2)
+        .firstWhere((i) => i.prefix2?.element == element)
         .importedLibrary2;
   }
 
@@ -42,7 +42,7 @@
   Library? get canonicalModelElement => associatedLibrary.canonicalLibrary;
 
   @override
-  Scope get scope => element2.scope;
+  Scope get scope => element.scope;
 
   @override
   ModelElement get enclosingElement => library;
diff --git a/lib/src/model/top_level_variable.dart b/lib/src/model/top_level_variable.dart
index 0f81feb..1863455 100644
--- a/lib/src/model/top_level_variable.dart
+++ b/lib/src/model/top_level_variable.dart
@@ -13,14 +13,14 @@
     with GetterSetterCombo, Categorization {
 
   @override
-  final TopLevelVariableElement2 element2;
+  final TopLevelVariableElement2 element;
 
   @override
   final Accessor? getter;
   @override
   final Accessor? setter;
 
-  TopLevelVariable(this.element2, super.library, super.packageGraph,
+  TopLevelVariable(this.element, super.library, super.packageGraph,
       this.getter, this.setter) {
     getter?.enclosingCombo = this;
     setter?.enclosingCombo = this;
@@ -58,18 +58,18 @@
   }
 
   @override
-  bool get isConst => element2.isConst;
+  bool get isConst => element.isConst;
 
   @override
   bool get isFinal {
     /// isFinal returns true for the variable even if it has an explicit getter
     /// (which means we should not document it as "final").
     if (hasExplicitGetter) return false;
-    return element2.isFinal;
+    return element.isFinal;
   }
 
   @override
-  bool get isLate => isFinal && element2.isLate;
+  bool get isLate => isFinal && element.isLate;
 
   // For use in templates.
   bool get isProvidedByExtension => false;
diff --git a/lib/src/model/type_parameter.dart b/lib/src/model/type_parameter.dart
index 0d7ee63..91a6cc9 100644
--- a/lib/src/model/type_parameter.dart
+++ b/lib/src/model/type_parameter.dart
@@ -11,13 +11,13 @@
 class TypeParameter extends ModelElement with HasNoPage {
 
   @override
-  final TypeParameterElement2 element2;
+  final TypeParameterElement2 element;
 
-  TypeParameter(this.element2, super.library, super.packageGraph);
+  TypeParameter(this.element, super.library, super.packageGraph);
 
   @override
   ModelElement get enclosingElement =>
-      getModelFor(element2.enclosingElement2!, library);
+      getModelFor(element.enclosingElement2!, library);
 
   /// [TypeParameter]s don't have documentation pages, and don't link to the
   /// element on which they are declared.
@@ -30,7 +30,7 @@
   Kind get kind => Kind.typeParameter;
 
   ElementType? get boundType {
-    var bound = element2.bound;
+    var bound = element.bound;
     return bound == null ? null : getTypeFor(bound, library);
   }
 
@@ -38,14 +38,14 @@
   bool get hasParameters => false;
 
   @override
-  String get name => element2.bound != null
-      ? '${element2.name3} extends ${boundType!.nameWithGenerics}'
-      : element2.name3!;
+  String get name => element.bound != null
+      ? '${element.name3} extends ${boundType!.nameWithGenerics}'
+      : element.name3!;
 
   @override
-  String get linkedName => element2.bound != null
-      ? '${element2.name3} extends ${boundType!.linkedName}'
-      : element2.name3!;
+  String get linkedName => element.bound != null
+      ? '${element.name3} extends ${boundType!.linkedName}'
+      : element.name3!;
 
   @override
   late final Map<String, CommentReferable> referenceChildren = () {
@@ -58,7 +58,7 @@
   Iterable<CommentReferable> get referenceParents => [enclosingElement];
 
   @override
-  String get referenceName => element2.name3!;
+  String get referenceName => element.name3!;
 }
 
 /// A mixin for [ModelElement]s which have type parameters.
diff --git a/lib/src/model/typedef.dart b/lib/src/model/typedef.dart
index 27f5222..b1395a0 100644
--- a/lib/src/model/typedef.dart
+++ b/lib/src/model/typedef.dart
@@ -13,13 +13,13 @@
     with TypeParameters, Categorization {
 
   @override
-  final TypeAliasElement2 element2;
+  final TypeAliasElement2 element;
 
-  Typedef(this.element2, super.library, super.packageGraph);
+  Typedef(this.element, super.library, super.packageGraph);
 
-  DartType get aliasedType => element2.aliasedType;
+  DartType get aliasedType => element.aliasedType;
 
-  late final ElementType modelType = getTypeFor(element2.aliasedType, library);
+  late final ElementType modelType = getTypeFor(element.aliasedType, library);
 
   @override
   Library get enclosingElement => library;
@@ -62,7 +62,7 @@
   Kind get kind => Kind.typedef;
 
   @override
-  List<TypeParameter> get typeParameters => element2.typeParameters2
+  List<TypeParameter> get typeParameters => element.typeParameters2
       .map((f) => getModelFor(f, library) as TypeParameter)
       .toList(growable: false);
 
@@ -127,10 +127,10 @@
   FunctionTypedef(super.element, super.library, super.packageGraph) {
     assert(
         isCallable,
-        'Expected callable but: ${element2.runtimeType} is FunctionTypedElement '
-        '|| (${element2.runtimeType} is TypeAliasElement && '
-        '${element2.aliasedType.runtimeType} is FunctionType) is not true for '
-        '"${element2.name3}" in "${element2.library2}"');
+        'Expected callable but: ${element.runtimeType} is FunctionTypedElement '
+        '|| (${element.runtimeType} is TypeAliasElement && '
+        '${element.aliasedType.runtimeType} is FunctionType) is not true for '
+        '"${element.name3}" in "${element.library2}"');
   }
 
   @override
diff --git a/lib/src/warnings.dart b/lib/src/warnings.dart
index bf2338c..b59bec8 100644
--- a/lib/src/warnings.dart
+++ b/lib/src/warnings.dart
@@ -96,7 +96,7 @@
 /// with an analyzer [element].
 mixin Warnable implements CommentReferable, Documentable, Locatable {
 
-  Element2? get element2;
+  Element2? get element;
 
   void warn(
     PackageWarning kind, {
@@ -547,7 +547,7 @@
     if (e == null) {
       return false;
     }
-    final warning = _countedWarnings[e.element2];
+    final warning = _countedWarnings[e.element];
     if (warning != null) {
       final messages = warning[kind];
       return messages != null &&
@@ -577,7 +577,7 @@
     }
     var elementName = e == null ? '<global>' : e.fullyQualifiedName;
     _countedWarnings
-        .putIfAbsent(e?.element2, () => {})
+        .putIfAbsent(e?.element, () => {})
         .putIfAbsent(kind, () => {})
         .add(message);
     _writeWarning(
diff --git a/test/classes_test.dart b/test/classes_test.dart
index b727c0b..e22977d 100644
--- a/test/classes_test.dart
+++ b/test/classes_test.dart
@@ -224,7 +224,7 @@
 
     var indexAssign =
         library.classes.named('E').inheritedOperators.named('operator []=');
-    expect(indexAssign.element2.enclosingElement2!.name3, '_D');
+    expect(indexAssign.element.enclosingElement2!.name3, '_D');
     expect(indexAssign.canonicalEnclosingContainer!.name, 'E');
     expect(indexAssign.canonicalModelElement!.enclosingElement!.name, 'E');
   }
diff --git a/test/documentation_comment_test.dart b/test/documentation_comment_test.dart
index ab18892..dceba66 100644
--- a/test/documentation_comment_test.dart
+++ b/test/documentation_comment_test.dart
@@ -861,7 +861,7 @@
       Map<Object?, Object?> matchState, bool verbose) {
     if (actual is ModelElement) {
       var warnings = actual
-          .packageGraph.packageWarningCounter.countedWarnings[actual.element2];
+          .packageGraph.packageWarningCounter.countedWarnings[actual.element];
       if (warnings == null) {
         return mismatchDescription.add('has no warnings');
       }
diff --git a/test/end2end/model_test.dart b/test/end2end/model_test.dart
index ab187cb..f710aea 100644
--- a/test/end2end/model_test.dart
+++ b/test/end2end/model_test.dart
@@ -232,7 +232,7 @@
     void expectTypedefs(Typedef t, String modelTypeToString,
         Iterable<String> genericParameters) {
       expect(t.modelType.toString(), equals(modelTypeToString));
-      expect(t.element2.typeParameters2.map((p) => p.toString()),
+      expect(t.element.typeParameters2.map((p) => p.toString()),
           orderedEquals(genericParameters));
     }
 
@@ -907,9 +907,9 @@
     });
 
     test('can import other libraries with unusual URIs', () {
-      final importLists = fakeLibrary.element2.fragments
+      final importLists = fakeLibrary.element.fragments
           .map((fragment) => fragment.libraryImports2);
-      final exportLists = fakeLibrary.element2.fragments
+      final exportLists = fakeLibrary.element.fragments
           .map((fragment) => fragment.libraryExports2);
       final fakeLibraryImportedExported = <Library>{
         for (final l in <LibraryElement2>{
@@ -1186,7 +1186,7 @@
             contains(
                 '<a href="%%__HTMLBASE_dartdoc_internal__%%reexport_two/BaseReexported/action.html">ExtendedBaseReexported.action</a></p>'));
         var doAwesomeStuffWarnings = packageGraph.packageWarningCounter
-                .countedWarnings[doAwesomeStuff.element2] ??
+                .countedWarnings[doAwesomeStuff.element] ??
             {};
         expect(
             doAwesomeStuffWarnings,
@@ -3563,7 +3563,7 @@
     test('inheritance of docs from SDK works for getter/setter combos', () {
       expect(
           ExtraSpecialListLength
-              .getter!.documentationFrom.first.element2.library2!.name3,
+              .getter!.documentationFrom.first.element.library2!.name3,
           equals('dart.core'));
       expect(ExtraSpecialListLength.oneLineDoc == '', isFalse);
     });
diff --git a/test/typedefs_test.dart b/test/typedefs_test.dart
index 54c3353..7263224 100644
--- a/test/typedefs_test.dart
+++ b/test/typedefs_test.dart
@@ -255,6 +255,6 @@
     expect(
         fFunc.modelType.returnType,
         isA<AliasedUndefinedElementType>().having((e) => e.typeAliasElement2,
-            'typeAliasElement', equals(rTypedef.element2)));
+            'typeAliasElement', equals(rTypedef.element)));
   }
 }