Caveat
"yield" is a useful piece of syntactic sugar, but be careful if you have a solution with mixed frameworks - if you have .NET 2.0 and .NET 4.0 projects in the same solution, and one of these projects uses yield, I've had the whole solution fail to compile, with the least helpful errors message ever. If you're using a single framework though, got to town!