Es ist sinnlos, darüber nachzudenken, ob Vererbung (oder wirklich ein einzelnes Merkmal) notwendig ist oder nicht, ohne auch den Rest der Semantik der Sprache zu berücksichtigen. Sie streiten in einem Vakuum.
Was Sie brauchen, ist eine konsequente Philosophie des Sprachdesigns. Die Sprache muss in der Lage sein, die Probleme, für die sie entwickelt wurde, elegant zu lösen. Das Modell, um dies zu erreichen, erfordert möglicherweise eine Vererbung oder nicht, aber es ist schwierig, dies ohne das Gesamtbild zu beurteilen.
Wenn Ihre Sprache beispielsweise über erstklassige Funktionen, Teilfunktionsanwendungen, polymorphe Datentypen, Typvariablen und generische Typen verfügt, haben Sie nahezu dieselben Grundlagen wie bei der klassischen OOP-Vererbung, jedoch unter Verwendung eines anderen Paradigmas.
Wenn Sie über eine späte Bindung, dynamische Typisierung, Methoden als Eigenschaften, flexible Funktionsargumente und erstklassige Funktionen verfügen, decken Sie dieselben Gründe ebenfalls ab, verwenden jedoch wieder ein anderes Paradigma.
(Das Finden von Beispielen für die beiden beschriebenen Paradigmen bleibt dem Leser als Übung.)
Denken Sie also über die Art der Semantik nach, die Sie möchten, spielen Sie mit ihnen herum und prüfen Sie, ob sie ohne Vererbung ausreichen. Wenn dies nicht der Fall ist, können Sie entweder entscheiden, die Vererbung in die Mischung zu werfen, oder Sie können entscheiden, dass etwas anderes fehlt.