Indirect branch
I notice that the branch instruction is direct (dest must be a block label). Why don't we support indirect branches? DO we have a way of emulating with TAILCALL? I know that the only code addresses that we can talk about in our type system are function references. So, we don't even have a way to compute code addresses otherwise. In note that LLVM has indirect branch.