C# 3.0 and VB.NET 9.0 introduced implicit typing. When you use
anonymous types, it's required. The rest of the time, it's
mostly a judgment call to decide whether to use
implicitly-typed local variables or not. An interesting discussion
is going on about this on Jean-Paul S. Boodhoo's blog. See all
the comments.