bpo-29677: DOC: clarify documentation for `round` (GH-877)

diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 2c0ea71..90fb07a 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -1254,9 +1254,9 @@
 
 .. function:: round(number[, ndigits])
 
-   Return the floating point value *number* rounded to *ndigits* digits after
-   the decimal point.  If *ndigits* is omitted or is ``None``, it returns the
-   nearest integer to its input.  Delegates to ``number.__round__(ndigits)``.
+   Return *number* rounded to *ndigits* precision after the decimal
+   point.  If *ndigits* is omitted or is ``None``, it returns the
+   nearest integer to its input.
 
    For the built-in types supporting :func:`round`, values are rounded to the
    closest multiple of 10 to the power minus *ndigits*; if two multiples are
@@ -1266,6 +1266,9 @@
    negative).  The return value is an integer if called with one argument,
    otherwise of the same type as *number*.
 
+   For a general Python object ``number``, ``round(number, ndigits)`` delegates to
+   ``number.__round__(ndigits)``.
+
    .. note::
 
       The behavior of :func:`round` for floats can be surprising: for example,