Copy type checking function as a preparation for bidirectional type checking.
Something like this?
Push/pull through position information.
Actually call the bidirectional type checker.
Stuck in push rule for applications.
WIP
Typechecking now actually fails for (some?) terms that do not type check.
It fails, pretty. Ha! :-)

Abstraction case of push checking.
Fix push typechecking of lambda abstractions.
Merge reorganisation stuff.