Issue #28556: updates to typing.py (fix copy, deepcopy, pickle)
diff --git a/Lib/typing.py b/Lib/typing.py
index bda4ea5..572708b 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -190,6 +190,9 @@
             return self
         raise TypeError("Cannot instantiate %r" % cls)
 
+    def __reduce__(self):
+        return _trim_name(type(self).__name__)
+
 
 class _ForwardRef(_TypingBase, _root=True):
     """Wrapper to hold a forward reference."""
@@ -1051,6 +1054,11 @@
         # classes are supposed to be rare anyways.
         return issubclass(instance.__class__, self)
 
+    def __copy__(self):
+        return self.__class__(self.__name__, self.__bases__, dict(self.__dict__),
+                              self.__parameters__, self.__args__, self.__origin__,
+                              self.__extra__, self.__orig_bases__)
+
 
 # Prevent checks for Generic to crash when defining Generic.
 Generic = None