Fix #9788 by giving `coerce` the right type.

No test case added, as the original mistake is just one level
up from a typo.
Test #9404 (typecheck/should_compile/T9404 and T9404b)
Testsuite wibble due to #9404
Fix #9404 by removing tcInfExpr.

See the ticket for more info about the new algorithm. This is a small
simplification, unifying the treatment of type checking in a few
similar situations.