Our types are `dynamic', because the Python code adds extra methods to
them. Apparently the correct thing to do in such cases is to put the
raw type name in the `tp_name' slot, and stuff the module name into
`tp_dict' by hand.
PyTypeObject *inittype(PyTypeObject *tyskel)
{
+ static PyObject *modname = 0;
PyTypeObject *ty = newtype(&PyType_Type, tyskel, 0);
+ if (!modname) modname = PyString_FromString("catacomb");
ty->tp_flags |= Py_TPFLAGS_HEAPTYPE;
PyType_Ready(ty);
+ PyDict_SetItemString(ty->tp_dict, "__module__", modname);
return (ty);
}