- A new type object, 'string', is added.  This is a common base type
  for 'str' and 'unicode', and can be used instead of
  types.StringTypes, e.g. to test whether something is "a string":
  isinstance(x, string) is True for Unicode and 8-bit strings.  This
  is an abstract base class and cannot be instantiated directly.
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 5cc8455..0ac4941 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -5835,7 +5835,7 @@
     unicode_methods,			/* tp_methods */
     0,					/* tp_members */
     0,					/* tp_getset */
-    0,					/* tp_base */
+    &PyBaseString_Type,			/* tp_base */
     0,					/* tp_dict */
     0,					/* tp_descr_get */
     0,					/* tp_descr_set */
@@ -5859,6 +5859,8 @@
     strcpy(unicode_default_encoding, "ascii");
     for (i = 0; i < 256; i++)
 	unicode_latin1[i] = NULL;
+    if (PyType_Ready(&PyUnicode_Type) < 0)
+	Py_FatalError("Can't initialize 'unicode'");
 }
 
 /* Finalize the Unicode implementation */