Adding almost devoid check for covar in ForAllCo
For the sake of consistency of the dependent core, there is a restriction on
where a coercion variable can appear in ForAllCo: the coercion variable can
appear nowhere except in coherence coercions.
Currently this restriction is missing in Core. The goal of this patch is to add
the missing restriction.
After discussion, we decide: coercion variables can appear nowhere except in
GRefl and Refl. Relaxing the restriction to include Refl should not break
consistency, we premuse.
Test Plan: ./validate
Reviewers: goldfire, simonpj, bgamari
Reviewed By: goldfire
Subscribers: rwbarton, carter
GHC Trac Issues: Trac #15757
Differential Revision: https://phabricator.haskell.org/D5231