Teach optCoecion about FunCo
Teach optCoecion about FunCo

I was seeing coercions like

   Nth 3 ((c2 -> c2) ; (c3 -> c4))

which made me realise that optCoercion was doing a bad job
of the (relatively new) FunCo.

In particular, opt_trans_rule needs a FunCo/FunCo case,
to go with the TyConAppCo/TyConAppCo case.  Easy.

No behavioural change, some coercions will get smaller

ezyang/ghc,shlevy/ghc,shlevy/ghc,ezyang/ghc,sdiehl/ghc,sdiehl/ghc,ezyang/ghc,sdiehl/ghc,shlevy/ghc,shlevy/ghc,shlevy/ghc,sdiehl/ghc,shlevy/ghc,sdiehl/ghc,ezyang/ghc,ezyang/ghc,shlevy/ghc,ezyang/ghc,sdiehl/ghc,ezyang/ghc,sdiehl/ghc