diff --git a/src/libraries/System.Linq/src/System.Linq.csproj b/src/libraries/System.Linq/src/System.Linq.csproj
index 2f93e584d18658..f032db1a303ee1 100644
--- a/src/libraries/System.Linq/src/System.Linq.csproj
+++ b/src/libraries/System.Linq/src/System.Linq.csproj
@@ -62,6 +62,7 @@
     
     
     
+    
     
     
     
@@ -70,12 +71,10 @@
     
     
     
-    
     
     
     
     
-    
     
     
     
@@ -83,6 +82,7 @@
     
     
     
+    
     
     
   
diff --git a/src/libraries/System.Linq/src/System/Linq/Count.cs b/src/libraries/System.Linq/src/System/Linq/Count.cs
index 6a12a11cbe163d..cd175cf6b9b3cc 100644
--- a/src/libraries/System.Linq/src/System/Linq/Count.cs
+++ b/src/libraries/System.Linq/src/System/Linq/Count.cs
@@ -20,7 +20,7 @@ public static int Count(this IEnumerable source)
                 return collectionoft.Count;
             }
 
-            if (!IsSizeOptimized && source is Iterator iterator)
+            if (source is Iterator iterator)
             {
                 return iterator.GetCount(onlyIfCheap: false);
             }
@@ -113,7 +113,7 @@ public static bool TryGetNonEnumeratedCount(this IEnumerable s
                 return true;
             }
 
-            if (!IsSizeOptimized && source is Iterator iterator)
+            if (source is Iterator iterator)
             {
                 int c = iterator.GetCount(onlyIfCheap: true);
                 if (c >= 0)
diff --git a/src/libraries/System.Linq/src/System/Linq/ElementAt.cs b/src/libraries/System.Linq/src/System/Linq/ElementAt.cs
index 26c69366fa9f3b..f4dc1f23a16c80 100644
--- a/src/libraries/System.Linq/src/System/Linq/ElementAt.cs
+++ b/src/libraries/System.Linq/src/System/Linq/ElementAt.cs
@@ -23,7 +23,7 @@ public static TSource ElementAt(this IEnumerable source, int i
 
             bool found;
             TSource? element =
-                !IsSizeOptimized && source is Iterator iterator ? iterator.TryGetElementAt(index, out found) :
+                source is Iterator iterator ? iterator.TryGetElementAt(index, out found) :
                 TryGetElementAtNonIterator(source, index, out found);
 
             if (!found)
@@ -121,7 +121,7 @@ public static TSource ElementAt(this IEnumerable source, Index
             }
 
             return
-                !IsSizeOptimized && source is Iterator iterator ? iterator.TryGetElementAt(index, out found) :
+                source is Iterator iterator ? iterator.TryGetElementAt(index, out found) :
                 TryGetElementAtNonIterator(source, index, out found);
         }
 
diff --git a/src/libraries/System.Linq/src/System/Linq/Last.cs b/src/libraries/System.Linq/src/System/Linq/Last.cs
index ca48475259d8e5..c38604e397592f 100644
--- a/src/libraries/System.Linq/src/System/Linq/Last.cs
+++ b/src/libraries/System.Linq/src/System/Linq/Last.cs
@@ -69,7 +69,7 @@ public static TSource LastOrDefault(this IEnumerable source, F
             }
 
             return
-                !IsSizeOptimized && source is Iterator iterator ? iterator.TryGetLast(out found) :
+                source is Iterator iterator ? iterator.TryGetLast(out found) :
                 TryGetLastNonIterator(source, out found);
         }
 
diff --git a/src/libraries/System.Linq/src/System/Linq/OfType.SpeedOpt.cs b/src/libraries/System.Linq/src/System/Linq/OfType.SpeedOpt.cs
index 4420801ee4abcf..f2649e706c8a0e 100644
--- a/src/libraries/System.Linq/src/System/Linq/OfType.SpeedOpt.cs
+++ b/src/libraries/System.Linq/src/System/Linq/OfType.SpeedOpt.cs
@@ -167,7 +167,7 @@ public override IEnumerable Select(Func s
                     // they're covariant. It's not worthwhile checking for List to use the ListWhereSelectIterator
                     // because List<> is not covariant.
                     Func