Tidy up partial-sig quantification
Tidy up partial-sig quantification

There's a messy bit of tcSimplifyInfer which concerns how
quantify when partial type signatures are involved. This
patch tidies it up a lot.

Notice that decideQuantification and quantify_tvs get
much simpler.  And previously the inferred type of a
function could be cluttered with phantom variables that
were relevant only to the error messgas.

See Note [Quantification and partial signatures].

vTurbine/ghc,mettekou/ghc,snoyberg/ghc,ezyang/ghc,olsner/ghc,sgillespie/ghc,ezyang/ghc,sgillespie/ghc,mettekou/ghc,sdiehl/ghc,shlevy/ghc,olsner/ghc,snoyberg/ghc,vTurbine/ghc,vikraman/ghc,ezyang/ghc,shlevy/ghc,sdiehl/ghc,vikraman/ghc,mettekou/ghc,mettekou/ghc,vTurbine/ghc,shlevy/ghc,vikraman/ghc,shlevy/ghc,olsner/ghc,olsner/ghc,ezyang/ghc,sdiehl/ghc,vTurbine/ghc,snoyberg/ghc,ezyang/ghc,vikraman/ghc,ezyang/ghc,mettekou/ghc,vikraman/ghc,mettekou/ghc,vTurbine/ghc,sgillespie/ghc,shlevy/ghc,vikraman/ghc,sdiehl/ghc,snoyberg/ghc,sdiehl/ghc,vikraman/ghc,shlevy/ghc,olsner/ghc,sgillespie/ghc,sgillespie/ghc,snoyberg/ghc,shlevy/ghc,vTurbine/ghc,snoyberg/ghc,vTurbine/ghc,olsner/ghc,ezyang/ghc,sdiehl/ghc,snoyberg/ghc,olsner/ghc,sgillespie/ghc,mettekou/ghc,sdiehl/ghc,sgillespie/ghc