А я не согласен с этой позицией. Инструмент должен давать свободу, а не органичивать. Если инструмент заточен под ограничение, то он для нетривиальных случаев будет неудобен.
вот тут мы возвращаемся назад: в хорошем механизме его правильное использование должно быть на порядки легче, чем неправильное. А это ваше "либеральное программирование", как хочешь так и кодишь, приведет только к хаосу и багам