Simplify pprLHsContext
This removes an ad hoc special case for empty LHsContext
s in
pprLHsContext
, fixing #20011 (closed). To avoid regressions in
pretty-printing data types and classes constructed via TH, we now
apply a heuristic where we convert empty datatype contexts and superclasses
to a Nothing
(rather than Just
an empty context). This will, for instance,
avoid pretty-printing every TH-constructed data type as data () => Blah ...
.