[RFC] Mutable records as a GHC extension

I agree with your distaste for that syntax. I especially dislike it’s called ‘update’ syntax, because there’s no update going on in the imperative programming sense of overwriting a location. ‘rebuild shorthand’ might be better terminology. I always use the explicit constructor syntax, which works reasonably smoothly with the .. RecordWildcards.

I agree the HasField and friends/‘update’ mechanisms are just too perplexing to be worth using. Indeed auto-naming a function same as a field (as in H98) runs counter to the drive to eliminate punning from other parts of the language.

What’s more perspicuous in the earlier proposal’s data decl is that a mutable structure can appear only within IO (or ST).