Improve docs of PEP 604 Union (#24301)

diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index e36a169..370decc 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -870,19 +870,27 @@
    class>`) subclass thereof.  If *object* is not
    an object of the given type, the function always returns ``False``.
    If *classinfo* is a tuple of type objects (or recursively, other such
-   tuples), return ``True`` if *object* is an instance of any of the types.
+   tuples) or a :ref:`types-union` of multiple types, return ``True`` if
+   *object* is an instance of any of the types.
    If *classinfo* is not a type or tuple of types and such tuples,
    a :exc:`TypeError` exception is raised.
 
+   .. versionchanged:: 3.10
+      *classinfo* can be a :ref:`types-union`.
+
 
 .. function:: issubclass(class, classinfo)
 
    Return ``True`` if *class* is a subclass (direct, indirect or :term:`virtual
    <abstract base class>`) of *classinfo*.  A
    class is considered a subclass of itself. *classinfo* may be a tuple of class
-   objects, in which case every entry in *classinfo* will be checked. In any other
+   objects or a :ref:`types-union`, in which case every entry in *classinfo*
+   will be checked. In any other
    case, a :exc:`TypeError` exception is raised.
 
+   .. versionchanged:: 3.10
+      *classinfo* can be a :ref:`types-union`.
+
 
 .. function:: iter(object[, sentinel])