There is active work done by Adam Gundry to extend this even further [1]. The key part of this is that there will be a new type class so that I can express as a constraint that a type must have a field with a certain name and with a certain type.
Further in the future, but still actively discussed is using overloaded labels as lenses [2]. Past that, I can't imagine anything else I would want records to do.
[1] https://github.com/adamgundry/ghc-proposals/blob/overloaded-... [2] http://stackoverflow.com/questions/38136144/replace-record-p...
https://skillsmatter.com/skillscasts/4251-lenses-composition...
That said, it's not just use. You've also gotta deal with some additional imports, and with defining your lenses. For the simplest case, that's a bit of overhead compared to having it all baked in.
You may be alright with vanilla Haskell records now that duplicate record fields are allowed in GHC 8.
I think something like rawr[1] might be what most are looking for when talking about better Haskell records, though.
0: https://hackage.haskell.org/package/vinyl-0.5.3/docs/Data-Vi...
1: http://hackage.haskell.org/package/rawr-0.0.0.1/docs/Data-Ra...