You may want to consider the concept of #Prototypes with #MultipleDispatch (#PMD) by #LeeSalzman and #JonathanAldrich, as implemented in the #Slate programming language:
🔗 Slate → https://www.cs.cmu.edu/~aldrich/papers/ecoop05pmd.pdf
🔗 Lee → http://sauerbraten.org/lee/
🔗 Jonathan → https://www.cs.cmu.edu/~aldrich/



