tl;dr I think the records problem is basically solved, and we just need to encourage turning on the right extensions.
Not with NoFieldSelectors
, which I hope will become part of GHC202*
.
This is really not that different to what I’d do in Haskell:
f = \case
Nil -> _
Node{value} -> _
GHC actually warns on this, albeit in a slightly unintuitive way.
My only issues with records in GHC now are really that dot access is partial, and update isn’t overloaded, and these are both being worked on.