Better with-handlers support in TR

Checks consistency between predicates and handlers in `with-handlers` clauses.
`void` is a subtype of `(-> Any Any)` though so it should be fine.