Фишка в том, что никому из разработчиков и в голову не приходит, что "а как было бы здорово, чтобы не нужно было пересобирать проект, чтобы переиспользовать код, который был предназначен для использования в качестве библиотеки, в том числе, как entry point (то есть обычный CALL)". Это очень необычная семантика, которую никто не держит в голове, потому что она против всякого здравого смысла. Это привело к классу багов, которых в принципе быть не должно было.. А вину перекладывают на разработчиков (которые в свою очередь являются просто пользователями системы).
А людям, которые смотрят на это со стороны, всё равно - им проще "козла отпущения" и переложить вину на разработчика, который на самом деле просто такой же пользователь и работает на том уровне абстракции, что ему доступен (мы не боги, чтобы всё знать и всё предвидеть).