Some minor List to Set improvements (#2914)

diff --git a/lib/src/dartdoc_options.dart b/lib/src/dartdoc_options.dart
index 6529a28..52dfb7e 100644
--- a/lib/src/dartdoc_options.dart
+++ b/lib/src/dartdoc_options.dart
@@ -1253,14 +1253,16 @@
   CategoryConfiguration get categories =>
       optionSet['categories'].valueAt(context);
 
-  List<String> get dropTextFrom => optionSet['dropTextFrom'].valueAt(context);
+  late final Set<String> dropTextFrom =
+      Set.of(optionSet['dropTextFrom'].valueAt(context));
 
   String? get examplePathPrefix =>
       optionSet['examplePathPrefix'].valueAt(context);
 
   // TODO(srawlins): This memoization saved a lot of time in unit testing, but
   // is the first value in this class to be memoized. Memoize others?
-  late final List<String> exclude = optionSet['exclude'].valueAt(context);
+  late final Set<String> exclude =
+      Set.of(optionSet['exclude'].valueAt(context));
 
   List<String> get excludePackages =>
       optionSet['excludePackages'].valueAt(context);
@@ -1269,7 +1271,8 @@
 
   bool get hideSdkText => optionSet['hideSdkText'].valueAt(context);
 
-  List<String> get include => optionSet['include'].valueAt(context);
+  late final Set<String> include =
+      Set.of(optionSet['include'].valueAt(context));
 
   List<String> get includeExternal =>
       optionSet['includeExternal'].valueAt(context);
diff --git a/lib/src/element_type.dart b/lib/src/element_type.dart
index 984cacd..63ee6aa 100644
--- a/lib/src/element_type.dart
+++ b/lib/src/element_type.dart
@@ -137,7 +137,7 @@
   @override
   String get name {
     if (type.isVoid) return 'void';
-    assert({'Never', 'void', 'dynamic'}.contains(type.element!.name),
+    assert((const {'Never', 'void', 'dynamic'}).contains(type.element!.name),
         'Unrecognized type for UndefinedElementType: ${type.toString()}');
     return type.element!.name!;
   }
diff --git a/lib/src/model/documentation_comment.dart b/lib/src/model/documentation_comment.dart
index 9c70d24..5aa082b 100644
--- a/lib/src/model/documentation_comment.dart
+++ b/lib/src/model/documentation_comment.dart
@@ -146,7 +146,7 @@
 
   ModelElementRenderer get modelElementRenderer;
 
-  static const _allDirectiveNames = [
+  static const _allDirectiveNames = {
     'animation',
     'end-inject-html',
     'end-tool',
@@ -169,7 +169,7 @@
     // Common Dart annotations which may decorate named parameters:
     'deprecated',
     'required',
-  ];
+  };
 
   static final _nameBreak = RegExp('[\\s}]');
 
diff --git a/lib/src/model/package_builder.dart b/lib/src/model/package_builder.dart
index 20af7c5..c2c7dd4 100644
--- a/lib/src/model/package_builder.dart
+++ b/lib/src/model/package_builder.dart
@@ -401,9 +401,9 @@
         foundLibraries, files, isLibraryIncluded);
     if (config.include.isNotEmpty) {
       var knownLibraryNames = foundLibraries.map((l) => l.name);
-      var notFound = Set<String>.from(config.include)
+      var notFound = config.include
           .difference(Set.from(knownLibraryNames))
-          .difference(Set.from(config.exclude));
+          .difference(config.exclude);
       if (notFound.isNotEmpty) {
         throw 'Did not find: [${notFound.join(', ')}] in '
             'known libraries: [${knownLibraryNames.join(', ')}]';
diff --git a/lib/src/model/package_graph.dart b/lib/src/model/package_graph.dart
index c9d2fe3..117d97c 100644
--- a/lib/src/model/package_graph.dart
+++ b/lib/src/model/package_graph.dart
@@ -482,11 +482,11 @@
   late final List<Package> publicPackages = () {
     assert(allLibrariesAdded);
     // Help the user if they pass us a package that doesn't exist.
+    var packageNames = packages.map((p) => p.name).toSet();
     for (var packageName in config.packageOrder) {
-      if (!packages.map((p) => p.name).contains(packageName)) {
+      if (!packageNames.contains(packageName)) {
         warnOnElement(null, PackageWarning.packageOrderGivesMissingPackageName,
-            message:
-                "$packageName, packages: ${packages.map((p) => p.name).join(',')}");
+            message: "$packageName, packages: ${packageNames.join(',')}");
       }
     }
     return packages.where((p) => p.isPublic).toList()..sort();