def move_on (workitem=h.applied_workitem)
h.position += 1
com, arg = get_command(workitem)
return reply_to_parent(workitem) if com == 'break'
case com
when 'rewind', 'continue' then h.position = 0
when 'skip' then h.position += arg
when 'jump' then h.position = arg
end
h.position = h.list.length + h.position if h.position < 0
val = h.list[h.position]
return reply_to_parent(workitem) if val == nil
(h.variables ||= {})['ii'] = h.position
if h.to_v
h.variables[h.to_v] = val
else
workitem['fields'][h.to_f] = val
end
apply_child(0, workitem)
end