Потому что сначала должны быть зарегистрированы провайдеры приложения, а потом уже провайдеры расширений, потому как провайдеры расширений могут использовать зависмости регистрируемые провайдерами приложения.
на самом деле хорошо бы бросать исключения в случае конфликта на уровне пакетов
Накладно для больших конфигов. Придется искать все пересечения, а дальше искать в них отсутствие маркеров из arrays. Лучше отказаться от arrays в пользу кастомных Walker'ов/Visitor'ов. А еще если это нужно, то делать через strict мод какой-нибудь. По умолчанию, думаю, всех и это устроит.
Накладно для больших конфигов. Придется искать все пересечения, а дальше искать в них отсутствие маркеров из arrays. Лучше отказаться от arrays в пользу кастомных Walker'ов/Visitor'ов. А еще если это нужно, то делать через strict мод какой-нибудь. По умолчанию, думаю, всех и это устроит.
не накладно, это же делаться на лету будет во время мержа