Don't use (PyObject *)PyObject_Type(x).  It is a leaky and verbose way
of saying x->ob_type.
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index eb9599c..91f15e3 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -681,7 +681,7 @@
                 PyErr_Format(parser_error,
                              "second item in terminal node must be a string,"
                              " found %s",
-                             ((PyTypeObject*)PyObject_Type(temp))->tp_name);
+                             temp->ob_type->tp_name);
                 Py_DECREF(temp);
                 return 0;
             }
@@ -694,7 +694,7 @@
                         PyErr_Format(parser_error,
                                      "third item in terminal node must be an"
                                      " integer, found %s",
-                                ((PyTypeObject*)PyObject_Type(temp))->tp_name);
+				     temp->ob_type->tp_name);
                         Py_DECREF(o);
                         Py_DECREF(temp);
                         return 0;