Make NoExt uninhabited
HsExtension.NoExt is a unit type:
data NoExt = NoExt
However, it is always(?) used to fill extension constructors which generally aren't meaningful. This is awkward as you then have cases like !1265 (comment 209231) where GHC implementation is forced to deal with a constructor that should never actually occur.
It seems like
NoExt should rather be unhabited:
Why isn't this the case?