I think the reason this discussion isn’t really going anywhere, is that, for me at least, I don’t really know what is trying to be solved here - as far as I’m aware
newtype already handles all of the problems listed aside from syntax ergonomics.
The most commonly raised issue that people have with the syntax aspect is the inability to access fields without unwrapping the newtype. I certainly understand that, as writing getters or having to unwrap can be quite tedious.
I think the case for needing overloaded record literals in general is much less common, but there are times where it would be nice.
So hypothetically, if those things were possible (dot access, literals), what other problems would this proposal be solving? (Aside from the
comparePerson one listed above. Sorry - I’m going to reject that one - the arguments you most recently gave against it apply equally to all
newtypes, and they aren’t going away any time soon! The inner record instances are not automatically derived, they’re just the instances for
Record row, similar to if it was a newtype over some
Maybe it’d be the instances for