"use strict";
function makeClosure(x)
{
return (f) => {
if (x == 42) {
x = 0;
return f(f);
}
else
return x;
for (var i = 0; i < 1000; ++i) {
var g = makeClosure(42);
var h = makeClosure(41);
var value = g(h);
if (value != 41)
throw "Wrong result, got: " + value;