PEP 3123: Provide forward compatibility with Python 3.0, while keeping
backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
PyVarObject_HEAD_INIT.
diff --git a/Python/ceval.c b/Python/ceval.c
index c547c37..8ed65a4 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -3655,7 +3655,7 @@
 	}
 	if (argdefs != NULL) {
 		d = &PyTuple_GET_ITEM(argdefs, 0);
-		nd = ((PyTupleObject *)argdefs)->ob_size;
+		nd = Py_Size(argdefs);
 	}
 	return PyEval_EvalCodeEx(co, globals,
 				 (PyObject *)NULL, (*pp_stack)-n, na,
diff --git a/Python/import.c b/Python/import.c
index 038c856..678a30b 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -3030,8 +3030,7 @@
 
 
 static PyTypeObject NullImporterType = {
-	PyObject_HEAD_INIT(NULL)
-	0,                         /*ob_size*/
+	PyVarObject_HEAD_INIT(NULL, 0)
 	"imp.NullImporter",        /*tp_name*/
 	sizeof(NullImporter),      /*tp_basicsize*/
 	0,                         /*tp_itemsize*/
diff --git a/Python/symtable.c b/Python/symtable.c
index 05d504c..1e1279a 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -117,8 +117,7 @@
 };
 
 PyTypeObject PySTEntry_Type = {
-	PyObject_HEAD_INIT(&PyType_Type)
-	0,
+	PyVarObject_HEAD_INIT(&PyType_Type, 0)
 	"symtable entry",
 	sizeof(PySTEntryObject),
 	0,
diff --git a/Python/traceback.c b/Python/traceback.c
index 4ddee2c..d6f68ab 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -52,8 +52,7 @@
 }
 
 PyTypeObject PyTraceBack_Type = {
-	PyObject_HEAD_INIT(&PyType_Type)
-	0,
+	PyVarObject_HEAD_INIT(&PyType_Type, 0)
 	"traceback",
 	sizeof(PyTracebackObject),
 	0,