Get rid of most of the flags (in tp_flags) that keep track of various
variations of the type struct and its attachments.  In Py3k, all type
structs have to have all fields -- no binary backwards compatibility.
Had to change the complex object to a new-style number!
diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c
index f335abe..7bcca8a 100644
--- a/Objects/bytesobject.c
+++ b/Objects/bytesobject.c
@@ -743,8 +743,9 @@
 	if (!PyBytes_Check(obj)) {
 	    PyErr_Format(PyExc_TypeError,
 			 "can only join an iterable of bytes "
-			 "(item %d has type '%.100s')",
-			 i, obj->ob_type->tp_name);
+			 "(item %ld has type '%.100s')",
+                         /* XXX %ld isn't right on Win64 */
+			 (long)i, obj->ob_type->tp_name);
 	    goto error;
 	}
 	totalsize += PyBytes_GET_SIZE(obj);
@@ -838,7 +839,7 @@
     PyObject_GenericGetAttr,            /* tp_getattro */
     0,                                  /* tp_setattro */
     &bytes_as_buffer,                   /* tp_as_buffer */
-    Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES, /* tp_flags */ 
+    Py_TPFLAGS_DEFAULT,			/* tp_flags */ 
                                         /* bytes is 'final' or 'sealed' */
     bytes_doc,                          /* tp_doc */
     0,                                  /* tp_traverse */