How is "Dim" worse than "var"???
In fact even before type inference I always thought that Dim was a better idea. It was kind of absurd to be forced to write your type twice.
Dim D as New Dictionary(Of String, String)
vs Dictionary<string, string> D = new Dictionary<string, string>();