Yes, this is normal. If you use an anonymous object as part of the public API of a class, the type of the corresponding property is the base type of the anonymous object (Any in this case), and you can’t access any members which are not defined in the base type.