We shouldn't crash on unhandled intrinsics. Also simplify failure handling in loop.
I'm not sure why this is here. If it doesn't make sense, feel free to remove it.
I think we should replace it with a return false and an assert so it comes up again when calls are supported