List<Operand> args = setupCallArgs(opElementAsgnNode.getArgsNode(), s);
// SSS FIXME: Verify with Tom that I am not missing something here
assert args.size() == 1;
Operand index = args.get(0);
s.addInstr(new CallInstr(elt, new MethAddr("[]"), array, new Operand[] { index }, null));
s.addInstr(new IsTrueInstr(flag, elt));
s.addInstr(new BEQInstr(flag, BooleanLiteral.FALSE, l));
Operand value = build(opElementAsgnNode.getValueNode(), s);
s.addInstr(new CallInstr(elt, new MethAddr("[]="), array, new Operand[] { index, value }, null));
s.addInstr(new CopyInstr(elt, value));
s.addInstr(new LABEL_Instr(l));