##
7.1.1 Type Objects

`PyTypeObject`
  The C structure of the objects used to describe built-in types.

PyObject* `PyType_Type`
  This is the type object for type objects; it is the same object as `types.TypeType` in the Python layer.

int `PyType_Check` (PyObject *o)
  Returns true is the object o is a type object.

int `PyType_HasFeature` (PyObject *o, int feature)
  Returns true if the type object o sets the feature feature. Type features are denoted by single bit flags. The only defined feature flag is `Py_TPFLAGS_HAVE_GETCHARBUFFER`, described in section 10.5.