 								{
 									call = stack.pop() as CompiledFunctionCall;
 									method = call.evaluatedMethod;
-									if (LOOP_LOOKUP[method] && LOOP_LOOKUP[method] != ST_CONTINUE)
+									if (LOOP_LOOKUP[method as Function] && LOOP_LOOKUP[method as Function] != ST_CONTINUE)
 									{
 										method = operators[ST_BREAK];
 										continue stackLoop;

							{
								// special case for for-in and for-each
								// implemented as "for (each|in)(\in(list), item=undefined, stmt)
								if (LOOP_LOOKUP[method] && call.evalIndex == INDEX_FOR_ITEM && (method == operators[ST_FOR_IN] || method == operators[ST_FOR_EACH]))
								{
									if ((call.evaluatedParams[INDEX_FOR_LIST] as Array).length > 0)
									{

							
							// handle branching and short-circuiting
							// skip evaluation of true or false branch depending on condition and branch operator
							if (BRANCH_LOOKUP[method as Function] !== undefined && call.evalIndex > INDEX_CONDITION)
								if (BRANCH_LOOKUP[method] == (call.evalIndex != (call.evaluatedParams[INDEX_CONDITION] ? INDEX_TRUE : INDEX_FALSE)))
									continue;
							
