Дело не в том, что полиморфизм плохой, просто для этого не нужен объектно-ориентированный язык.

Интерфейсы дадут вам это. И без всего этого ОО.

Интерфейсы реализуют композицию. Композиция - это объектно-ориентированная концепция. Да, и большинство объектно-ориентированных языков также поддерживают композицию ДОПОЛНИТЕЛЬНО к наследованию! Так в чем именно вы заключаете?

Вы походите на человека, который раньше занимался программированием, но остался позади и теперь испытывает трудности с приспособлением к новой парадигме. Просто потому, что вы этого еще не поняли.

Думаю, я имею в виду, что проблема не в языке, инструментах или парадигме. Дерьмовый код - проблема. Вы написали дерьмовый код и вместо того, чтобы учиться на нем, вините язык.