Более конкретно, что касается необоснованности, универсальные типы являются ковариантными. Таким образом, список строк может быть передан чему-то, что ожидает список объектов. Это небезопасно, потому что объект, который ожидает список Object, может попытаться добавить в список что-то, что не является String. Но говорить людям, что когда у вас есть B в качестве подкласса A, но Collection не является подтипом Collection , совершенно не интуитивно понятно.