Not discouraging at all - that's a very valid point! Funnily enough, I wanted to try implementing an OO language because they are popular... I use them a lot, which makes it important for me to understand how they work.
Check out Dylan, a high performance dynamic language that compiles to LLVM. Check out this example:
https://opendylan.org/documentation/intro-dylan/multiple-dis...
This is how to do it: https://en.wikipedia.org/wiki/C3_linearization
Gives the language powerful uniqueness feature that the 'mainstream' languages don't have.