diff --git a/Lib/_abcoll.py b/Lib/_abcoll.py
index 4009ccb..6f1759b 100644
--- a/Lib/_abcoll.py
+++ b/Lib/_abcoll.py
@@ -56,7 +56,7 @@
 Iterable.register(str)
 
 
-class Iterator:
+class Iterator(Iterable):
     __metaclass__ = ABCMeta
 
     @abstractmethod
@@ -122,7 +122,7 @@
 ### SETS ###
 
 
-class Set:
+class Set(Sized, Iterable, Container):
     __metaclass__ = ABCMeta
 
     """A set is a finite, iterable container.
@@ -135,19 +135,6 @@
     then the other operations will automatically follow suit.
     """
 
-    @abstractmethod
-    def __contains__(self, value):
-        return False
-
-    @abstractmethod
-    def __iter__(self):
-        while False:
-            yield None
-
-    @abstractmethod
-    def __len__(self):
-        return 0
-
     def __le__(self, other):
         if not isinstance(other, Set):
             return NotImplemented
@@ -324,7 +311,7 @@
 ### MAPPINGS ###
 
 
-class Mapping:
+class Mapping(Sized, Iterable, Container):
     __metaclass__ = ABCMeta
 
     @abstractmethod
@@ -345,15 +332,6 @@
         else:
             return True
 
-    @abstractmethod
-    def __len__(self):
-        return 0
-
-    @abstractmethod
-    def __iter__(self):
-        while False:
-            yield None
-
     def keys(self):
         return KeysView(self)
 
@@ -370,7 +348,7 @@
     def __ne__(self, other):
         return not (self == other)
 
-class MappingView:
+class MappingView(Sized):
     __metaclass__ = ABCMeta
 
     def __init__(self, mapping):
@@ -490,7 +468,7 @@
 ### SEQUENCES ###
 
 
-class Sequence:
+class Sequence(Sized, Iterable, Container):
     __metaclass__ = ABCMeta
 
     """All the operations on a read-only sequence.
@@ -503,10 +481,6 @@
     def __getitem__(self, index):
         raise IndexError
 
-    @abstractmethod
-    def __len__(self):
-        return 0
-
     def __iter__(self):
         i = 0
         try:
