Allow runtime-representation polymorphic data families
This is an offshoot of #12369 (closed) (‘data families shouldn't be required to have return kind *, data instances should’), allowing family declarations something like:
data family Array a :: TYPE rep