def _kaitai_show(self, parent_path='    '):
    if type(self) in (int, float, str, bytes, bool):
        print(" == ".join((parent_path, self.__repr__())))
    elif type(self) == list:
        for i, item in enumerate(self):
            try:
                item.show('{}[{}]'.format(parent_path,i))
            except:
                _kaitai_show(item,'{}[{}]'.format(parent_path,i))
    else:
        for item in sorted(vars(self)):
            if not item.startswith('_'):
                _r = getattr(self, item)
                try:
                    _r.show(parent_path+'.'+item)
                except:
                    _kaitai_show(_r,parent_path+'.'+item)