[3.6] bpo-30372: Clarify that '__builtins__' is a CPython Implementation detail (GH-1725) (GH-1727)

(cherry picked from commit 43c8a9e39bb2d4f25ed7ae17a55f34e375d1868b)
diff --git a/Doc/reference/executionmodel.rst b/Doc/reference/executionmodel.rst
index f0dbbd1..d08abdf 100644
--- a/Doc/reference/executionmodel.rst
+++ b/Doc/reference/executionmodel.rst
@@ -164,15 +164,6 @@
 
 .. index:: pair: restricted; execution
 
-The builtins namespace associated with the execution of a code block is actually
-found by looking up the name ``__builtins__`` in its global namespace; this
-should be a dictionary or a module (in the latter case the module's dictionary
-is used).  By default, when in the :mod:`__main__` module, ``__builtins__`` is
-the built-in module :mod:`builtins`; when in any other module,
-``__builtins__`` is an alias for the dictionary of the :mod:`builtins` module
-itself.  ``__builtins__`` can be set to a user-created dictionary to create a
-weak form of restricted execution.
-
 .. impl-detail::
 
    Users should not touch ``__builtins__``; it is strictly an implementation
@@ -180,6 +171,15 @@
    :keyword:`import` the :mod:`builtins` module and modify its
    attributes appropriately.
 
+The builtins namespace associated with the execution of a code block
+is actually found by looking up the name ``__builtins__`` in its
+global namespace; this should be a dictionary or a module (in the
+latter case the module's dictionary is used).  By default, when in the
+:mod:`__main__` module, ``__builtins__`` is the built-in module
+:mod:`builtins`; when in any other module, ``__builtins__`` is an
+alias for the dictionary of the :mod:`builtins` module itself.
+
+
 .. _dynamic-features:
 
 Interaction with dynamic features