Visible kind application
Summary: This patch implements visible kind application (GHC Proposal 15/#12045 (closed)), as well as #15360 (closed) and #15362 (closed). It also refactors unnamed wildcard handling, and requires that type equations in type families in Template Haskell be written with full type on lhs. PartialTypeSignatures are on and warnings are off automatically with visible kind application, just like in term-level.
There are a few remaining issues with this patch, as documented in ticket #16082.
Includes a submodule update for Haddock.
Test Plan: Tests T12045a/b/c/TH1/TH2, T15362, T15592a
Reviewers: simonpj, goldfire, bgamari, alanz, RyanGlScott, Iceland_jack
Subscribers: ningning, Iceland_jack, RyanGlScott, int-index, rwbarton, mpickering, carter
GHC Trac Issues: #12045
, #15362
, #15592
, #15788
, #15793
, #15795
, #15797
, #15799
, #15801
, #15807
, #15816
Differential Revision: https://phabricator.haskell.org/D5229