Issue #15502: Refactor some code.
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index b79fdcc..34d54bb 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -607,6 +607,21 @@
     return _requires_frozen_wrapper
 
 
+def _find_module_shim(self, fullname):
+    """Try to find a loader for the specified module by delegating to
+    self.find_loader()."""
+    # Call find_loader(). If it returns a string (indicating this
+    # is a namespace package portion), generate a warning and
+    # return None.
+    loader, portions = self.find_loader(fullname)
+    if loader is None and len(portions):
+        msg = "Not importing directory {}: missing __init__"
+        _warnings.warn(msg.format(portions[0]), ImportWarning)
+    return loader
+
+
+
+
 # Loaders #####################################################################
 
 class BuiltinImporter:
@@ -1305,17 +1320,7 @@
         """Invalidate the directory mtime."""
         self._path_mtime = -1
 
-    def find_module(self, fullname):
-        """Try to find a loader for the specified module."""
-        # Call find_loader(). If it returns a string (indicating this
-        # is a namespace package portion), generate a warning and
-        # return None.
-        loader, portions = self.find_loader(fullname)
-        assert len(portions) in [0, 1]
-        if loader is None and len(portions):
-            msg = "Not importing directory {}: missing __init__"
-            _warnings.warn(msg.format(portions[0]), ImportWarning)
-        return loader
+    find_module = _find_module_shim
 
     def find_loader(self, fullname):
         """Try to find a loader for the specified module, or the namespace
diff --git a/Lib/importlib/abc.py b/Lib/importlib/abc.py
index cd687e8..387567a 100644
--- a/Lib/importlib/abc.py
+++ b/Lib/importlib/abc.py
@@ -78,10 +78,7 @@
         """
         raise NotImplementedError
 
-    def find_module(self, fullname):
-        """Compatibility function which is the equivalent of
-        self.find_loader(fullname)[0]."""
-        return self.find_loader(fullname)[0]
+    find_module = _bootstrap._find_module_shim
 
     def invalidate_caches(self):
         """An optional method for clearing the finder's cache, if any.