Extensible records in Haskell