Occasionally the debate will come as to when it's OK to use type inference in order to declare a variable. There appear to be three groups in this debate.
I fall into camp #1 and here are my reasons
foreach (SomeType cur in col)
foreach ( var cur in col.Cast<SomeType>())
The best argument I've heard against type inference is that it reduces readability since you can't look at a variable and know it's type. True, but just hover over the declaration and the IDE will display the type. Yes this is not possible with a non-IDE editor but how often do you use one?