Type inference with `var` as well; which was necessary for LINQ anyway IIRC.
If a library doesn't have an API for using them with generics, you can paper over that with:
T fn<T>(T throwAway) => Library.Deserialize<T>();Sometimes people lump these in with dynamic objects but those are a very different class of thing indeed.
Now, what would be -really- nice is if we had a way to specify that an anonymous type implements an interface. That could potentially simplify a -lot- of DTO modeling.