Since GHC 9.2 there are two new language extensions that support this:
https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_record_dot.html https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/overloaded_record_update.html