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.