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