// IMPORTANT: Receive the block argument before the opt and splat args
// This is so that the *arg can be encoded as 'rest of the array'. This
// won't work if the block argument hasn't been received yet!
if (argsNode.getBlock() != null)
s.addInstr(new ReceiveClosureInstr(s.getLocalVariable(argsNode.getBlock().getName())));
// Now for the rest
if (opt > 0) {
ListNode optArgs = argsNode.getOptArgs();
for (int j = 0; j < opt; j++, argIndex++) {