Take the following snippet:
List distances = new List();
Was the redundancy intended by the language designers? If so, wh
It's only "redundant" if you are comparing it to dynamically typed languages. It's useful for polymorphism and finding bugs at compile time. Also, it makes code auto-complete/intellisense easier for your IDE (if you use one).