For what it’s worth, I’ve recently (last month or so) worked with Sibi on a Haskell project! I read this article without realising it was from him initially, but reviewing this thread and seeing it mention Sibi, I’m re-reviewing it.
I do think there’s something to be said about the defaults for Haskell allowing records and enums to be such footguns/needless conflicts. I think a lot of the contents of the post we can fairly say “yeah, that is a little annoying” - such as the disparate error handling methods and tooling support.
I’ll also say that despite ostensibly being able to use more modern extensions and such, often people just won’t reach for them because either the company style doesn’t include them or they don’t use them personally.
As usual, of course, we can look at some of these differences and aspire to be more supportive in those ways, whether that’s by advocating for a better set of defaults (to remove record field footguns for example) or by building better tooling.