Hello, As for use cases of promoted data families, I see a very simple one with https://hackage.haskell.org/package/vinyl Instead of having to define in one go all tags that can be used together: data Field = Foo | Bar | Baz | ... one could add them in separate modules. Best regards, Marcin Mrotek