Turn some asserts into runtime traps instead
Unfortunately, we cannnot always rely on :invokes to have argument
values that match the declared ssa types (e.g. if the :invoke is
dynamically unreachable). Because of that, we cannot assert here,
but must instead emit a runtime trap.