эта идиома(?) встречается довольно много раз в учебнике по лестнице:
val b:A = new B
или
val b = new B
val b2:A = b
Помимо попытки указать на некоторые моменты в учебнике, зачем вам объявлять тип, отличный от предполагаемого типа чего-либо?
Кстати, какие-нибудь названия для этого?