diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index 113422c..8da5743 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -117,17 +117,6 @@
         return True
 
 
-class _AssertWrapper(object):
-    """Wrap entries in the _type_equality_funcs registry to make them deep
-    copyable."""
-
-    def __init__(self, function):
-        self.function = function
-
-    def __deepcopy__(self, memo):
-        memo[id(self)] = self
-
-
 class TestCase(object):
     """A class whose instances are single test cases.
 
@@ -201,7 +190,7 @@
                     msg= argument that raises self.failureException with a
                     useful error message when the two arguments are not equal.
         """
-        self._type_equality_funcs[typeobj] = _AssertWrapper(function)
+        self._type_equality_funcs[typeobj] = function
 
     def addCleanup(self, function, *args, **kwargs):
         """Add a function, with arguments, to be called when the test is
@@ -424,7 +413,7 @@
         if type(first) is type(second):
             asserter = self._type_equality_funcs.get(type(first))
             if asserter is not None:
-                return asserter.function
+                return asserter
 
         return self._baseAssertEqual
 
