RecordType::Init dead code

I was exploring the internals of records and noticed in RecordType::Init that there's an "assert(false)". Is this dead code that can be removed?

Removing it would also involve removing the RecordField class, the "fields" and "base" members of RecordType, the two-arg RecordType ctor, and the "refined_type" rule from the parser (used in type and event declarations). What was the use for this "refined" record type?

I already experimented with removing all that stuff with all unit tests passing, want me to commit it so it can get merged?


What was the use for this "refined" record type?

IIRC, this was an experiment regarding of providing a form of inheritance.
I don't remember how far it went; perhaps Robin does.


No, I don't think I was involved with that. But I think we had
actually already decided a while ago that this can be removed, we just
never followed up with doing it. So, Jon, yes, please move ahead.