Right, great catch! Property shadowing is missed here. But, code style wise, do you think this is a good & readable approach to overwrite properties in child classes?
Casing object to array seems to have same powers as Reflection in this regard, surprisingly. Thank you.