actual = '';
expected = '0,1,2,3,4,';

function loop(f) {
  var p;
  for (var i = 0; i < 10; ++i) {
    p = f(1, 2, 3);
  }
  return p;
}

function f(j, k) {
  var g = function(a, b, c) { return k; }

  for (k = 0; k < 5; ++k) {
    appendToActual(loop(g));
  }
}

f(1);


assertEq(actual, expected)
