Stop confusing inheritance with polymorphism.
In MOST cases, or at least in the comparisons being made here, polymorphism assumes a tree or tree-like taxonomy, or at least a single-dimensional list of mutually-exclusive choices. The "taxonomy" may not be explicitly given to the language, but it is there.
And this is different from your "eval" how
I thought we were comparing mostly case statements here.