Have you ever written a type synonym with an unused type variable?
type Const a b = a -- b is unused on the RHS
Well, maybe not. But who’s to say the day won’t come? And then it’d be nice to have wildcards instead of introducing an unused variable
type Const a _ = a
This is the subject of a GHC Proposal amendment I’ve written a few days ago: #641. It bundles a few more changes for added generality, e.g. nested parentheses and nested kind annotations
type S ((a)) ((b :: k1) :: k2) = <rhs>
This is perhaps not as useful (if not to say useless) but it makes the grammar more regular in my opinion, so I’ve opted to include it (full reasoning in the PR description).
The change will affect GHC API and template-haskell AST, so I don’t want it to fly under the radar.