diff --git a/Doc/library/asyncio-eventloop.rst b/Doc/library/asyncio-eventloop.rst
index 708a429..eef9aa1 100644
--- a/Doc/library/asyncio-eventloop.rst
+++ b/Doc/library/asyncio-eventloop.rst
@@ -144,6 +144,10 @@
    Return the current time, as a :class:`float` value, according to the
    event loop's internal clock.
 
+.. seealso::
+
+   The :func:`asyncio.sleep` function.
+
 
 Creating connections
 ^^^^^^^^^^^^^^^^^^^^
@@ -330,11 +334,10 @@
    Set the default executor used by :meth:`run_in_executor`.
 
 
-Examples
---------
+.. _asyncio-hello-world-callback:
 
-Hello World (callback)
-^^^^^^^^^^^^^^^^^^^^^^
+Example: Hello World (callback)
+-------------------------------
 
 Print ``Hello World`` every two seconds, using a callback::
 
@@ -348,20 +351,7 @@
     print_and_repeat(loop)
     loop.run_forever()
 
+.. seealso::
 
-Hello World (coroutine)
-^^^^^^^^^^^^^^^^^^^^^^^
-
-Print ``Hello World`` every two seconds, using a coroutine::
-
-    import asyncio
-
-    @asyncio.coroutine
-    def greet_every_two_seconds():
-        while True:
-            print('Hello World')
-            yield from asyncio.sleep(2)
-
-    loop = asyncio.get_event_loop()
-    loop.run_until_complete(greet_every_two_seconds())
+   :ref:`Hello World example using a coroutine <asyncio-hello-world-coroutine>`.
 
diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst
index 42a03d7..9541438 100644
--- a/Doc/library/asyncio-task.rst
+++ b/Doc/library/asyncio-task.rst
@@ -230,3 +230,26 @@
       This does not raise :exc:`TimeoutError`! Futures that aren't done when
       the timeout occurs are returned in the second set.
 
+
+.. _asyncio-hello-world-coroutine:
+
+Example: Hello World (coroutine)
+--------------------------------
+
+Print ``Hello World`` every two seconds, using a coroutine::
+
+    import asyncio
+
+    @asyncio.coroutine
+    def greet_every_two_seconds():
+        while True:
+            print('Hello World')
+            yield from asyncio.sleep(2)
+
+    loop = asyncio.get_event_loop()
+    loop.run_until_complete(greet_every_two_seconds())
+
+
+.. seealso::
+
+   :ref:`Hello World example using a callback <asyncio-hello-world-callback>`.
