Of course, `AbstractRecord` is wide open. The main problem I see with that name is that it will be weird if we end up allowing users to write their own abstract records.

Which may well happen someday.  (Which also makes giving Record an F-bounded type parameter a little more dodgy.)

(It's /slightly/ weird to have it named "*Record" when it /is not a record/ but it's already the case that Enum is not an enum, so <meh>.)

I guess I would lean toward just using the straightforward name `Record`.

Yeah, that seems the most straightforward choice.  Along with the same rule we have for Enum, where it cannot be extended by ordinary classes.

Reply via email to