Thoughts on improving Haskell records