{
var adder = val1 => val2 => val1 + val2;
var incr = adder(1);
var decr = adder(-1);
var ZERO = transform => start_value => start_value;
var SUCC =
qtyFn =>
transform =>
start_value => transform(qtyFn(transform)(start_value));
var ONE = SUCC(ZERO);
var TWO = SUCC(ONE);
var THREE = SUCC(TWO);
var FIVE = TWO(SUCC)(THREE);
return {
reify_TWO : TWO(incr)(0)
, reify_THREE : THREE(incr)(0)
, reify_FIVE : FIVE(incr)(0)
, reify_seven_minus_three : THREE(decr)(7)
}
}