The answer to your last question is that you can't.
Even with types the multiple inheritance example you describe is incredibly frustrating and near impossible to grok.
I love huggingface's transformers library and use it every day, but trying to find out what the fuck is actually going on when I 'call' a model instance (yes, they overloaded __call__) is a kafkaesque journey through the inheritance tree. I must have tried like 5+ different times and I still don't know what's going on.
edit: sorry for the rant, it's just an example of multiple inheritance and python pain.
Even with types the multiple inheritance example you describe is incredibly frustrating and near impossible to grok.
I love huggingface's transformers library and use it every day, but trying to find out what the fuck is actually going on when I 'call' a model instance (yes, they overloaded __call__) is a kafkaesque journey through the inheritance tree. I must have tried like 5+ different times and I still don't know what's going on.
edit: sorry for the rant, it's just an example of multiple inheritance and python pain.