This comment to an answer from John Saunders, a very high-rep member of Stack Overflow, says that returning an anonymous type from a web service is a bad practice.
Assuming I have the luxury of not caring about graceful degradation of my website in the face of users with Javascript disabled, why is it bad practice to have a service method, that exists only to be called via Ajax, return an anonymous object?
It seems like such a waste to whip up a concrete type, whose sole purpose is to hold my data for a few microseconds before asp.net serializes it into JSON.