Remove unused argument to tc/rec-lambda/check.
Avoid TR internal error, by checking shape of args.
Reduce usage of check-below.

This pushes almost all uses of check below into tc-expr and
tc-expr/check. This means that the optimizer sees more precise types
and can make more optimizations.