+ -- Just [t1..tn] for data instance T t1..tn = ...
+ -- in this case tcdTyVars = fv( tcdTyPats )
+ -- Nothing for everything else
+
+ tcdKindSig:: Maybe Kind, -- Optional kind sig
+ -- (Just k) for
+ -- (a) GADT-style data type decls with user kind sig
+ -- (b) 'data instance' decls with user kind sig
+ -- (c) 'data family' decls, whether or not there is a kind sig
+ -- (this is how we distinguish a data family decl)