I'd rather keep lambdas and live with runtime polymorphism, than keep parametric polymorphism and lose lambdas.
Generics, in terms of scope, is a bigger feature, for sure. And generics make lambdas more usable. But the distance between generics and their alternative - manual casts throughout - is larger than the distance between lambdas and anonymous inner classes.
Speaking of dark matter coding, story time: a spare time project of mine involves bringing an actual, pre-generics codebase into the not quite as distant past. That beast still has real, living users! Surprisingly, a frequent complaint is running out of heap memory, so they are happily sharing their magic -Xmx incantations with values that would have been outrageously high when the code was written.
Generics, in terms of scope, is a bigger feature, for sure. And generics make lambdas more usable. But the distance between generics and their alternative - manual casts throughout - is larger than the distance between lambdas and anonymous inner classes.