I am just beginning to get my head around this but I think I noticed something I overlooked when  this stuff started to go in.  I wonder if the loop that this update is embedded in terminate with  i <= call->numActuals() rather than i < call->numActuals()?  