I just read Ian Griffiths' post on C# 3.0 and LINQ - Expression Trees (linked from Jomo Fisher's C# 3.0 post, which was linked in John Rivard's Why Visual Studio targets only one version of the .NET Framework, which was in a link from Soma's Multi-targeting of .NET FX in Visual Studio post, which I received in an email notification). He provides a link to the C# 3.0 spec, which I read through quickly before reading his post. I hadn't looked at any of this stuff that was evidently unveiled publicly at PDC '05, so this probably isn't news for a lot of people.
Anyway, reading Ian's blog post tied the whole thing together for me, including the expression trees for query optimization, among other things. When I was reading through the spec, some of it was pretty apparent, but I see now why each of the features is there given the context of LINQ. I can only imagine what obtuse code some folks will write with extension methods.