return the module object from PyMODINIT_FUNC
diff --git a/Doc/extending/extending.rst b/Doc/extending/extending.rst
index ef2c726..17a8110 100644
--- a/Doc/extending/extending.rst
+++ b/Doc/extending/extending.rst
@@ -326,8 +326,8 @@
        return PyModule_Create(&spammodule);
    }
 
-Note that PyMODINIT_FUNC declares the function as ``void`` return type,
-declares any special linkage declarations required by the platform, and for  C++
+Note that PyMODINIT_FUNC declares the function as ``PyObject *`` return type,
+declares any special linkage declarations required by the platform, and for C++
 declares the function as ``extern "C"``.
 
 When the Python program imports module :mod:`spam` for the first time,
diff --git a/Doc/includes/noddy.c b/Doc/includes/noddy.c
index 26a49a9..b6b7d6f 100644
--- a/Doc/includes/noddy.c
+++ b/Doc/includes/noddy.c
@@ -52,4 +52,5 @@
 
     Py_INCREF(&noddy_NoddyType);
     PyModule_AddObject(m, "Noddy", (PyObject *)&noddy_NoddyType);
+    return m;
 }
diff --git a/Doc/includes/noddy2.c b/Doc/includes/noddy2.c
index 5daecf9..db9c7a8 100644
--- a/Doc/includes/noddy2.c
+++ b/Doc/includes/noddy2.c
@@ -186,4 +186,5 @@
 
     Py_INCREF(&NoddyType);
     PyModule_AddObject(m, "Noddy", (PyObject *)&NoddyType);
+    return m;
 }
diff --git a/Doc/includes/noddy3.c b/Doc/includes/noddy3.c
index 39cdfdb..e98b87f 100644
--- a/Doc/includes/noddy3.c
+++ b/Doc/includes/noddy3.c
@@ -239,4 +239,5 @@
 
     Py_INCREF(&NoddyType);
     PyModule_AddObject(m, "Noddy", (PyObject *)&NoddyType);
+    return m;
 }
diff --git a/Doc/includes/noddy4.c b/Doc/includes/noddy4.c
index 94507ec..5be00a7 100644
--- a/Doc/includes/noddy4.c
+++ b/Doc/includes/noddy4.c
@@ -221,4 +221,5 @@
 
     Py_INCREF(&NoddyType);
     PyModule_AddObject(m, "Noddy", (PyObject *)&NoddyType);
+    return m;
 }