Без заголовка
Там большая проблема в том, что при написании отдельно взятого паттерна приходится учитывать все прочие паттерны системы, возможно пересекающиеся с ним по множеству значений. Что тяжело. Плюс, в случае плохого дизайна, начинаются танцы с бубном вокруг specificity: http://justy-tylor.livejournal.com/241882.html
Однако, если разбить систему на непересекающиеся микротеории и не пытаться всё пихать в логическую парадигму, то вполне можно получить её человекочитаемое и человекоосознаваемое представление. Вот только тогда "магия пропадает". Придётся программировать, а не просто добавлять правила с надеждой на авось. Для "магии" решения вроде нейросеток действительно больше подходят.