Note [closeWrtFunDeps ignores implicit parameters]
Implicit params don't really determine a type variable (that is, we might have IP "c" Bool and IP "c" Int in different places within the same program), and skipping this causes implicit params to monomorphise too many variables; see Note [Inheriting implicit parameters] in GHC.Tc.Solver. Skipping causes typecheck/should_compile/tc219 to fail.
References 1
- Inheriting implicit parameters GHC.Tc.Solver
Referenced by 1
- GHC.Tc.Instance.FunDeps call site