I'm colored by an experience at a small 4 person startup where we transitioned from java3 -> java5 and fully adopted generics. It was fun and let you write less docs and use un-tortured names, but our error rate did not change and our speed did not change in any appreciable way