А почему вообще придумали именно стирание типов? Ну т.е. понятно, что надо было, чтобы старый код работал. Но почему было в язык какую-нибудь фичу не добавить, что если у коллекции указан всё-таки тип конкретный, то чтобы он запоминался и был доступен в рантайме (а если не указан, то работало бы как раньше).