Split `SynTyCon` into `SynonymTyCon` and `FamilyTyCon`
As part of my work on #6018 (closed) I added new fields to
SynTyCon data constructor of
TyCon type. These fields only make sense for type families because we don't trace injectivity information for type synonyms.
SynTyCon already has some fields that only make sense for type families. Richard suggests that
SynTyCon is split into two separate constructors. With my implementation of injective type families this makes even more changes. I'm going to make that change in HEAD Real Soon Now so that I can rebase my work on top of it.