C# 3.0 Anonymous types - actual type depends on the order of the property assignnments