Fix parameter propagation error

This catches the most blatant attempts at typecase, but there are still
a couple of other sneaky tricks that will get past the checker.
Disallow explicit types on LHS

Except under quasiquotation. This is to prevent any arguments being
specialised to a more specific type than the function type suggests (one
place where typecase can arise).