What is the design decision to lean towards not returning an anonymous types from a method?
At least up to 3.5, anonymous types are actually resolved at compile time, and this would be impossible (or quite hard) to do with anonymous method signatures.