Declaring GADT constructor and associated data family with the same name gives weird error
The code this is from is really messy. I'll submit a minimal example in a short while if this isn't a known bug fixed in 8.2.1. GHC complains about the kinds not matching instead of giving a "multiple definitions" error.