def mro_items(type_obj):
    # TODO: handle slots?
    return chain.from_iterable(ct.__dict__.items()
    for ct in type_obj.__mro__)
:param msg_enc:
dataset/ETHPy150Open mahmoud/boltons/boltons/funcutils.py/mro_items--crossover with--dataset/ETHPy150Open cloudera/hue/desktop/core/ext-py/pysaml2-2.4.0/src/saml2/sigver.py/pre_encryption_part