Since `emit_tupleset` is always called with a constant index, does LLVM optimize away this switch and the multiple alloca instructions? Maybe better to require `emit_tupleset` to take a constant index, then implement it to take advantage of that.