Да, попытка придти к балансу. Чтобы и криво не было, и гибкость была.
Чтобы криво не было, достаточно не писать криво ))
Процедурным проганьем можно писать ровно и чисто. Сложно но можно. ООП можно сделать ровным, хоть это и набор ограничений "для бобиков" над процедурами. Почти что угодно можно сделать ровным, вопрос только в том, будут ли абузить правила это или нет (будут, инфа 100%).
И задачей становится ввод таких ограничений, чтобы абузить было НЕЛЬЗЯ СОВСЕМ, но при этом была "гибкость". Совсем в идеале, чтобы суперпрофессионал и новичок писали бы буквально одно и то же, ибо поддержка.