Undo changes accidentally reverted in de8787029fe4.
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 173baf4..f782655 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -122,6 +122,8 @@
 
    Without an argument, an array of size 0 is created.
 
+   See also :ref:`binaryseq` and :ref:`typebytearray`.
+
 
 .. _func-bytes:
 .. function:: bytes([source[, encoding[, errors]]])
@@ -135,6 +137,8 @@
 
    Bytes objects can also be created with literals, see :ref:`strings`.
 
+   See also :ref:`binaryseq`, :ref:`typebytes`, and :ref:`bytes-methods`.
+
 
 .. function:: callable(object)
 
@@ -688,6 +692,8 @@
    *sentinel*, :exc:`StopIteration` will be raised, otherwise the value will
    be returned.
 
+   See also :ref:`typeiter`.
+
    One useful application of the second form of :func:`iter` is to read lines of
    a file until a certain line is reached.  The following example reads a file
    until the :meth:`readline` method returns an empty string::
@@ -708,7 +714,7 @@
    :noindex:
 
    Rather than being a function, :class:`list` is actually a mutable
-   sequence type, as documented in :ref:`typesseq`.
+   sequence type, as documented in :ref:`typesseq-list` and :ref:`typesseq`.
 
 
 .. function:: locals()
@@ -1082,7 +1088,7 @@
    :noindex:
 
    Rather than being a function, :class:`range` is actually an immutable
-   sequence type, as documented in :ref:`typesseq`.
+   sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`.
 
 
 .. function:: repr(object)
@@ -1207,7 +1213,8 @@
 .. function:: str(object='')
               str(object[, encoding[, errors]])
 
-   Return a string version of an object, using one of the following modes:
+   Return a :ref:`string <textseq>` version of an object, using one of the
+   following modes:
 
    If *encoding* and/or *errors* are given, :func:`str` will decode the
    *object* which can either be a byte string or a character buffer using
@@ -1230,11 +1237,9 @@
    Objects can specify what ``str(object)`` returns by defining a :meth:`__str__`
    special method.
 
-   For more information on strings see :ref:`typesseq` which describes sequence
-   functionality (strings are sequences), and also the string-specific methods
-   described in the :ref:`string-methods` section. To output formatted strings,
-   see the :ref:`string-formatting` section. In addition see the
-   :ref:`stringservices` section.
+   For more information on strings and string methods, see the :ref:`textseq`
+   section.  To output formatted strings, see the :ref:`string-formatting`
+   section.  In addition, see the :ref:`stringservices` section.
 
 
 .. function:: sum(iterable[, start])
@@ -1311,7 +1316,7 @@
    :noindex:
 
    Rather than being a function, :class:`tuple` is actually an immutable
-   sequence type, as documented in :ref:`typesseq`.
+   sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`.
 
 
 .. function:: type(object)
@@ -1344,6 +1349,8 @@
       ...
       >>> X = type('X', (object,), dict(a=1))
 
+   See also :ref:`bltin-type-objects`.
+
 
 .. function:: vars([object])