Row-types is a library of open records and variants for Haskell using closed type families and type literals (among other thingsā¦). See examples/Examples.lhs for a literate Haskell file that functions as an overview of how this library can be used.
Also, check out these posts about cool things you can do with row-types: