I feel like both contracts have major deal breakers.

Why don't you evaluate the values that need processed before creating the anonymous object, would that solve your problem?