validating the entire subtree is mandatory, otherwise RecordLayout will assert null at some point. Meaning that we cant really distinguish between field incmplete types and record incomplete errors