Открыл посмотреть код. И не понимаю в чем смысл вот такой конструкции. Причем это встречается во многих программах, не только здесь.
typedef struct _PyEncoderObject {
    PyObject_HEAD
    PyObject *markers;
    PyObject *defaultfn;
    PyObject *encoder;
    PyObject *indent;
    PyObject *key_separator;
    PyObject *item_separator;
    PyObject *sort_keys;
    PyObject *skipkeys;
    PyObject *key_memo;
    int fast_encode;
    int allow_nan;
    int use_decimal;
} PyEncoderObject;
struct PyEncoderObject {
    PyObject_HEAD
    PyObject *markers;
    PyObject *defaultfn;
    PyObject *encoder;
    PyObject *indent;
    PyObject *key_separator;
    PyObject *item_separator;
    PyObject *sort_keys;
    PyObject *skipkeys;
    PyObject *key_memo;
    int fast_encode;
    int allow_nan;
    int use_decimal;
};


