diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index ce2acb5..737e4c3 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -666,7 +666,7 @@
         return 0;
 #else
         pa->ffi_type = &ffi_type_pointer;
-        pa->value.p = PyUnicode_AsWideCharString((PyUnicodeObject *)obj, NULL);
+        pa->value.p = PyUnicode_AsWideCharString(obj, NULL);
         if (pa->value.p == NULL)
             return -1;
         pa->keep = PyCapsule_New(pa->value.p, CTYPES_CAPSULE_NAME_PYMEM, pymem_destructor);
diff --git a/Modules/_ctypes/cfield.c b/Modules/_ctypes/cfield.c
index 072b8c6..ab293f7 100644
--- a/Modules/_ctypes/cfield.c
+++ b/Modules/_ctypes/cfield.c
@@ -1434,7 +1434,7 @@
         PyObject *keep;
         wchar_t *buffer;
 
-        buffer = PyUnicode_AsWideCharString((PyUnicodeObject *)value, NULL);
+        buffer = PyUnicode_AsWideCharString(value, NULL);
         if (!buffer) {
             Py_DECREF(value);
             return NULL;
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index 67d16f4..1001dd2 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -246,10 +246,10 @@
     if (!PyArg_ParseTuple(args, "UU:strcoll", &os1, &os2))
         return NULL;
     /* Convert the unicode strings to wchar[]. */
-    ws1 = PyUnicode_AsWideCharString((PyUnicodeObject*)os1, NULL);
+    ws1 = PyUnicode_AsWideCharString(os1, NULL);
     if (ws1 == NULL)
         goto done;
-    ws2 = PyUnicode_AsWideCharString((PyUnicodeObject*)os2, NULL);
+    ws2 = PyUnicode_AsWideCharString(os2, NULL);
     if (ws2 == NULL)
         goto done;
     /* Collate the strings. */
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 912ba17..473d805 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -1426,7 +1426,7 @@
     if (!PyArg_ParseTuple(args, "U", &unicode))
         return NULL;
 
-    buffer = PyUnicode_AsWideCharString((PyUnicodeObject*)unicode, &size);
+    buffer = PyUnicode_AsWideCharString(unicode, &size);
     if (buffer == NULL)
         return NULL;
 
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 1a85662..5e6cd6c 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -502,7 +502,7 @@
         buf.tm_isdst = 1;
 
 #ifdef HAVE_WCSFTIME
-    format = PyUnicode_AsWideCharString((PyUnicodeObject*)format_arg, NULL);
+    format = PyUnicode_AsWideCharString(format_arg, NULL);
     if (format == NULL)
         return NULL;
     fmt = format;
