There is no real inheritance/polymorphism in static usage.
What is static usage? I think in this example with inheritance only statics:
Yes and no.
Yes in that symbols are divided over multiple symbols with a relation between them, and you can inherit from a basetype.
No, that you do anything interesting or OO with it, no Virtual usage or polymorphism of any kind.
So maybe it is a form of inheritance, but it is not inheritance in the OO sense, where inheritance is the chosen vehicle of polymorphism for statically inherited OO languageimplementations.
Is a record with a record helper then also inheritance ? No I know it is not entirely the same (the record helper cannot introduce own data), but it does satisfy the above rough "redivide symbols between two types with relation between them, but not the full OO definition", why is TObject different from that case? Just because it has inheritance
looking syntax?
You also associate two types and not get the full set. And what if the record helper is inherited (trunk feature), is then the record also inherited ?