Use an empty data type in TTG extension constructors (#15247)
To avoid having to panic any time a TTG extension constructor is
consumed, this MR introduces an uninhabited NoExtCon type and uses
that in every extension constructor's type family instance where it
is appropriate. This also introduces a noExtCon function which
eliminates a NoExtCon, much like Data.Void.absurd eliminates
a Void.
I also renamed the existing NoExt type to NoExtField to better
distinguish it from NoExtCon. Unsurprisingly, there is a lot of
code churn resulting from this.
Bumps the Haddock submodule. Fixes #15247 (closed).
Edited by Ryan Scott