Issue #5647: MutableSet.__iand__() no longer mutates self during iteration.
diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py
index 45747a6..7b01178 100644
--- a/Lib/_abcoll.py
+++ b/Lib/_abcoll.py
@@ -320,10 +320,9 @@
             self.add(value)
         return self
 
-    def __iand__(self, c: Container):
-        for value in self:
-            if value not in c:
-                self.discard(value)
+    def __iand__(self, it: Iterable):
+        for value in (self - it):
+            self.discard(value)
         return self
 
     def __ixor__(self, it: Iterable):