Row-types is a library of open records and variants for Haskell using closed type families and type literals (among other things...). See Examples.lhs for an overview of how this library can be used.
This work is a branch from CTRex [1,2] with other inspiration from data-diverse [3]. My thanks to the authors and contributors of those libraries!
[1] https://wiki.haskell.org/CTRex
[2] https://hackage.haskell.org/package/CTRex/docs/Data-OpenRecords.html