Fix Trac #15308 by suppressing invisble args more rigorously
There was a buglet in stripInvisArgs (which is part of the
pretty-printing pipeline for types) in which only invisble arguments
which came before any visible arguments would be suppressed, but any
invisble arguments that came after visible ones would still be
printed, even if -fprint-explicit-kinds wasn't enabled.
The fix is simple: make stripInvisArgs recursively process the
remaining types even after a visible argument is encountered.
Test Plan: make test TEST=T15308
Reviewers: goldfire, bgamari
Reviewed By: bgamari
Subscribers: simonpj, rwbarton, thomie, carter
GHC Trac Issues: Trac #15308
Differential Revision: https://phabricator.haskell.org/D4891
(cherry picked from commit 93b7ac8d73885369f61f6eb6147352d45de4e957)