Revert change f860b7a775c5

Revert change "Issue #27213: Reintroduce checks in _PyStack_AsDict()", pushed
by mistake.
diff --git a/Objects/abstract.c b/Objects/abstract.c
index f9e5009..a929be9 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -2367,9 +2367,9 @@
 }
 
 PyObject *
-_PyStack_AsDict(PyObject **values, Py_ssize_t nkwargs, PyObject *kwnames,
-                PyObject *func)
+_PyStack_AsDict(PyObject **values, PyObject *kwnames)
 {
+    Py_ssize_t nkwargs = PyTuple_GET_SIZE(kwnames);
     PyObject *kwdict;
     Py_ssize_t i;
 
@@ -2378,24 +2378,12 @@
         return NULL;
     }
 
-    for (i=0; i < nkwargs; i++) {
-        int err;
+    for (i = 0; i < nkwargs; i++) {
         PyObject *key = PyTuple_GET_ITEM(kwnames, i);
         PyObject *value = *values++;
-
-        if (PyDict_GetItem(kwdict, key) != NULL) {
-            PyErr_Format(PyExc_TypeError,
-                         "%.200s%s got multiple values "
-                         "for keyword argument '%U'",
-                         PyEval_GetFuncName(func),
-                         PyEval_GetFuncDesc(func),
-                         key);
-            Py_DECREF(kwdict);
-            return NULL;
-        }
-
-        err = PyDict_SetItem(kwdict, key, value);
-        if (err) {
+        assert(PyUnicode_CheckExact(key));
+        assert(PyDict_GetItem(kwdict, key) == NULL);
+        if (PyDict_SetItem(kwdict, key, value)) {
             Py_DECREF(kwdict);
             return NULL;
         }
@@ -2479,7 +2467,7 @@
     }
 
     if (nkwargs > 0) {
-        kwdict = _PyStack_AsDict(stack + nargs, nkwargs, kwnames, func);
+        kwdict = _PyStack_AsDict(stack + nargs, kwnames);
         if (kwdict == NULL) {
             return NULL;
         }