From 1692d26b57adba01b8c49493da1c0376e2d023da Mon Sep 17 00:00:00 2001 From: Feng Yilong <97390773+FYL2003@users.noreply.github.com> Date: Mon, 8 Apr 2024 21:52:09 +0800 Subject: [PATCH] 1612 stepper accidental unpacking during evaluating the if statement in block expression (#1653) * trial update from VS code * modify the repective test cases for if statement in block expression --------- Co-authored-by: Hans Delano <43413899+hanscau@users.noreply.github.com> --- .../__tests__/__snapshots__/stepper.ts.snap | 3032 +++++++++-------- src/stepper/stepper.ts | 18 +- 2 files changed, 1686 insertions(+), 1364 deletions(-) diff --git a/src/stepper/__tests__/__snapshots__/stepper.ts.snap b/src/stepper/__tests__/__snapshots__/stepper.ts.snap index ba938dc96..554c63464 100644 --- a/src/stepper/__tests__/__snapshots__/stepper.ts.snap +++ b/src/stepper/__tests__/__snapshots__/stepper.ts.snap @@ -4924,566 +4924,110 @@ expmod(4, 3, 5); }; { - if (is_even(3)) { - const to_half = expmod(4, 3 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 3 - 1, 5) % 5; - } -}; - -{ - if (is_even(3)) { - const to_half = expmod(4, 3 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 3 - 1, 5) % 5; - } -}; - -{ - if (3 % 2 === 0) { - const to_half = expmod(4, 3 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 3 - 1, 5) % 5; - } -}; - -{ - if (3 % 2 === 0) { - const to_half = expmod(4, 3 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 3 - 1, 5) % 5; - } -}; - -{ - if (1 === 0) { - const to_half = expmod(4, 3 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 3 - 1, 5) % 5; - } -}; - -{ - if (1 === 0) { - const to_half = expmod(4, 3 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 3 - 1, 5) % 5; - } -}; - -{ - if (false) { - const to_half = expmod(4, 3 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 3 - 1, 5) % 5; - } -}; - -{ - if (false) { - const to_half = expmod(4, 3 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 3 - 1, 5) % 5; - } -}; - -{ - return 4 * expmod(4, 3 - 1, 5) % 5; -}; - -{ - return 4 * expmod(4, 3 - 1, 5) % 5; -}; - -4 * expmod(4, 3 - 1, 5) % 5; - -4 * expmod(4, 3 - 1, 5) % 5; - -4 * expmod(4, 2, 5) % 5; - -4 * expmod(4, 2, 5) % 5; - -4 * { - if (2 === 0) { - return 1; - } else { - if (is_even(2)) { - const to_half = expmod(4, 2 / 2, 5); + { + if (is_even(3)) { + const to_half = expmod(4, 3 / 2, 5); return to_half * to_half % 5; } else { - return 4 * expmod(4, 2 - 1, 5) % 5; + return 4 * expmod(4, 3 - 1, 5) % 5; } } -} % 5; +}; -4 * { - if (2 === 0) { - return 1; - } else { - if (is_even(2)) { - const to_half = expmod(4, 2 / 2, 5); +{ + { + if (is_even(3)) { + const to_half = expmod(4, 3 / 2, 5); return to_half * to_half % 5; } else { - return 4 * expmod(4, 2 - 1, 5) % 5; + return 4 * expmod(4, 3 - 1, 5) % 5; } } -} % 5; +}; -4 * { - if (false) { - return 1; - } else { - if (is_even(2)) { - const to_half = expmod(4, 2 / 2, 5); +{ + { + if (3 % 2 === 0) { + const to_half = expmod(4, 3 / 2, 5); return to_half * to_half % 5; } else { - return 4 * expmod(4, 2 - 1, 5) % 5; + return 4 * expmod(4, 3 - 1, 5) % 5; } } -} % 5; +}; -4 * { - if (false) { - return 1; - } else { - if (is_even(2)) { - const to_half = expmod(4, 2 / 2, 5); +{ + { + if (3 % 2 === 0) { + const to_half = expmod(4, 3 / 2, 5); return to_half * to_half % 5; } else { - return 4 * expmod(4, 2 - 1, 5) % 5; + return 4 * expmod(4, 3 - 1, 5) % 5; } } -} % 5; - -4 * { - if (is_even(2)) { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 2 - 1, 5) % 5; - } -} % 5; - -4 * { - if (is_even(2)) { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 2 - 1, 5) % 5; - } -} % 5; - -4 * { - if (2 % 2 === 0) { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 2 - 1, 5) % 5; - } -} % 5; - -4 * { - if (2 % 2 === 0) { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 2 - 1, 5) % 5; - } -} % 5; - -4 * { - if (0 === 0) { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 2 - 1, 5) % 5; - } -} % 5; - -4 * { - if (0 === 0) { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 2 - 1, 5) % 5; - } -} % 5; - -4 * { - if (true) { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 2 - 1, 5) % 5; - } -} % 5; - -4 * { - if (true) { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 2 - 1, 5) % 5; - } -} % 5; - -4 * { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = expmod(4, 2 / 2, 5); - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = expmod(4, 1, 5); - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = expmod(4, 1, 5); - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - if (1 === 0) { - return 1; - } else { - if (is_even(1)) { - const to_half = expmod(4, 1 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 1 - 1, 5) % 5; - } - } - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - if (1 === 0) { - return 1; - } else { - if (is_even(1)) { - const to_half = expmod(4, 1 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 1 - 1, 5) % 5; - } - } - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - if (false) { - return 1; - } else { - if (is_even(1)) { - const to_half = expmod(4, 1 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 1 - 1, 5) % 5; - } - } - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - if (false) { - return 1; - } else { - if (is_even(1)) { - const to_half = expmod(4, 1 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 1 - 1, 5) % 5; - } - } - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - if (is_even(1)) { - const to_half = expmod(4, 1 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 1 - 1, 5) % 5; - } - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - if (is_even(1)) { - const to_half = expmod(4, 1 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 1 - 1, 5) % 5; - } - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - if (1 % 2 === 0) { - const to_half = expmod(4, 1 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 1 - 1, 5) % 5; - } - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - if (1 % 2 === 0) { - const to_half = expmod(4, 1 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 1 - 1, 5) % 5; - } - }; - return to_half * to_half % 5; -} % 5; +}; -4 * { - const to_half = { +{ + { if (1 === 0) { - const to_half = expmod(4, 1 / 2, 5); + const to_half = expmod(4, 3 / 2, 5); return to_half * to_half % 5; } else { - return 4 * expmod(4, 1 - 1, 5) % 5; + return 4 * expmod(4, 3 - 1, 5) % 5; } - }; - return to_half * to_half % 5; -} % 5; + } +}; -4 * { - const to_half = { +{ + { if (1 === 0) { - const to_half = expmod(4, 1 / 2, 5); + const to_half = expmod(4, 3 / 2, 5); return to_half * to_half % 5; } else { - return 4 * expmod(4, 1 - 1, 5) % 5; + return 4 * expmod(4, 3 - 1, 5) % 5; } - }; - return to_half * to_half % 5; -} % 5; + } +}; -4 * { - const to_half = { +{ + { if (false) { - const to_half = expmod(4, 1 / 2, 5); + const to_half = expmod(4, 3 / 2, 5); return to_half * to_half % 5; } else { - return 4 * expmod(4, 1 - 1, 5) % 5; + return 4 * expmod(4, 3 - 1, 5) % 5; } - }; - return to_half * to_half % 5; -} % 5; + } +}; -4 * { - const to_half = { +{ + { if (false) { - const to_half = expmod(4, 1 / 2, 5); + const to_half = expmod(4, 3 / 2, 5); return to_half * to_half % 5; } else { - return 4 * expmod(4, 1 - 1, 5) % 5; + return 4 * expmod(4, 3 - 1, 5) % 5; } - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = { - return 4 * expmod(4, 1 - 1, 5) % 5; - }; - return to_half * to_half % 5; -} % 5; + } +}; -4 * { - const to_half = { - return 4 * expmod(4, 1 - 1, 5) % 5; - }; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * expmod(4, 1 - 1, 5) % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * expmod(4, 1 - 1, 5) % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * expmod(4, 0, 5) % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * expmod(4, 0, 5) % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * { - if (0 === 0) { - return 1; - } else { - if (is_even(0)) { - const to_half = expmod(4, 0 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 0 - 1, 5) % 5; - } - } - } % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * { - if (0 === 0) { - return 1; - } else { - if (is_even(0)) { - const to_half = expmod(4, 0 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 0 - 1, 5) % 5; - } - } - } % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * { - if (true) { - return 1; - } else { - if (is_even(0)) { - const to_half = expmod(4, 0 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 0 - 1, 5) % 5; - } - } - } % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * { - if (true) { - return 1; - } else { - if (is_even(0)) { - const to_half = expmod(4, 0 / 2, 5); - return to_half * to_half % 5; - } else { - return 4 * expmod(4, 0 - 1, 5) % 5; - } +{ + { + { + undefined; + return 4 * expmod(4, 3 - 1, 5) % 5; } - } % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * { - return 1; - } % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * { - return 1; - } % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * 1 % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 * 1 % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4 % 5; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4; - return to_half * to_half % 5; -} % 5; - -4 * { - const to_half = 4; - return to_half * to_half % 5; -} % 5; - -4 * { - return 4 * 4 % 5; -} % 5; - -4 * { - return 4 * 4 % 5; -} % 5; - -4 * (4 * 4 % 5) % 5; - -4 * (4 * 4 % 5) % 5; - -4 * (16 % 5) % 5; - -4 * (16 % 5) % 5; - -4 * 1 % 5; - -4 * 1 % 5; - -4 % 5; - -4 % 5; - -4; + } +}; -4; +{ + { + { + undefined; + return 4 * expmod(4, 3 - 1, 5) % 5; + } + } +}; " `; @@ -8183,1539 +7727,2311 @@ subsets([1, [2, [3, null]]]); }; { - const rest = subsets(tail([1, [2, [3, null]]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = subsets(tail([1, [2, [3, null]]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = subsets(tail([1, [2, [3, null]]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = subsets(tail([1, [2, [3, null]]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = subsets([2, [3, null]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = subsets([2, [3, null]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = subsets([2, [3, null]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = subsets([2, [3, null]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - if (is_null([2, [3, null]])) { - return list(null); - } else { - const rest = subsets(tail([2, [3, null]])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - } - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); -}; - -{ - const rest = { - if (is_null([2, [3, null]])) { - return list(null); - } else { - const rest = subsets(tail([2, [3, null]])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - } - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); -}; - -{ - const rest = { - if (false) { - return list(null); - } else { - const rest = subsets(tail([2, [3, null]])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - } - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); -}; - -{ - const rest = { - if (false) { - return list(null); - } else { - const rest = subsets(tail([2, [3, null]])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - } - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); -}; - -{ - const rest = { - const rest = subsets(tail([2, [3, null]])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); -}; - -{ - const rest = { - const rest = subsets(tail([2, [3, null]])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); -}; - -{ - const rest = { - const rest = subsets([3, null]); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); -}; - -{ - const rest = { - const rest = subsets([3, null]); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); -}; - -{ - const rest = { + { const rest = { - if (is_null([3, null])) { + if (is_null([2, [3, null]])) { return list(null); } else { - const rest = subsets(tail([3, null])); - return append(rest, map(x => pair(head([3, null]), x), rest)); + const rest = subsets(tail([2, [3, null]])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - if (is_null([3, null])) { + if (is_null([2, [3, null]])) { return list(null); } else { - const rest = subsets(tail([3, null])); - return append(rest, map(x => pair(head([3, null]), x), rest)); + const rest = subsets(tail([2, [3, null]])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { if (false) { return list(null); } else { - const rest = subsets(tail([3, null])); - return append(rest, map(x => pair(head([3, null]), x), rest)); + const rest = subsets(tail([2, [3, null]])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { if (false) { return list(null); } else { - const rest = subsets(tail([3, null])); - return append(rest, map(x => pair(head([3, null]), x), rest)); + const rest = subsets(tail([2, [3, null]])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = subsets(tail([3, null])); - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = subsets(tail([2, [3, null]])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = subsets(tail([3, null])); - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = subsets(tail([2, [3, null]])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = subsets(null); - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = subsets([3, null]); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = subsets(null); - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = subsets([3, null]); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = { - if (is_null(null)) { - return list(null); - } else { - const rest = subsets(tail(null)); - return append(rest, map(x => pair(head(null), x), rest)); - } - }; - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + if (is_null([3, null])) { + return list(null); + } else { + const rest = subsets(tail([3, null])); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = { - if (is_null(null)) { - return list(null); - } else { - const rest = subsets(tail(null)); - return append(rest, map(x => pair(head(null), x), rest)); - } - }; - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + if (is_null([3, null])) { + return list(null); + } else { + const rest = subsets(tail([3, null])); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = { - if (true) { - return list(null); - } else { - const rest = subsets(tail(null)); - return append(rest, map(x => pair(head(null), x), rest)); - } - }; - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + if (false) { + return list(null); + } else { + const rest = subsets(tail([3, null])); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = { - if (true) { - return list(null); - } else { - const rest = subsets(tail(null)); - return append(rest, map(x => pair(head(null), x), rest)); - } - }; - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + if (false) { + return list(null); + } else { + const rest = subsets(tail([3, null])); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = { - return list(null); - }; - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + { + const rest = subsets(tail([3, null])); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = { - return list(null); - }; - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + { + const rest = subsets(tail([3, null])); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = list(null); - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + { + const rest = subsets(null); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = list(null); - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + { + const rest = subsets(null); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = [null, null]; - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + { + const rest = { + if (is_null(null)) { + return list(null); + } else { + const rest = subsets(tail(null)); + return append(rest, map(x => pair(head(null), x), rest)); + } + }; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - const rest = [null, null]; - return append(rest, map(x => pair(head([3, null]), x), rest)); + { + const rest = { + { + const rest = { + if (is_null(null)) { + return list(null); + } else { + const rest = subsets(tail(null)); + return append(rest, map(x => pair(head(null), x), rest)); + } + }; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - return append([null, null], map(x => pair(head([3, null]), x), [null, null])); + { + const rest = { + { + const rest = { + if (true) { + return list(null); + } else { + const rest = subsets(tail(null)); + return append(rest, map(x => pair(head(null), x), rest)); + } + }; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { + { const rest = { - return append([null, null], map(x => pair(head([3, null]), x), [null, null])); + { + const rest = { + { + const rest = { + if (true) { + return list(null); + } else { + const rest = subsets(tail(null)); + return append(rest, map(x => pair(head(null), x), rest)); + } + }; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } }; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], map(x => pair(head([3, null]), x), [null, null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + const rest = { + { + return list(null); + } + }; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], map(x => pair(head([3, null]), x), [null, null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + const rest = { + { + return list(null); + } + }; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), [null, null], null)); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + const rest = { + return list(null); + }; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), [null, null], null)); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + const rest = { + return list(null); + }; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], is_null([null, null]) ? reverse(null) : $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + const rest = list(null); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], is_null([null, null]) ? reverse(null) : $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + const rest = list(null); + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], false ? reverse(null) : $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + const rest = [null, null]; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], false ? reverse(null) : $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + const rest = [null, null]; + return append(rest, map(x => pair(head([3, null]), x), rest)); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + return append([null, null], map(x => pair(head([3, null]), x), [null, null])); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + { + return append([null, null], map(x => pair(head([3, null]), x), [null, null])); + } + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair((x => pair(head([3, null]), x))(head([null, null])), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + return append([null, null], map(x => pair(head([3, null]), x), [null, null])); + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair((x => pair(head([3, null]), x))(head([null, null])), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = { + return append([null, null], map(x => pair(head([3, null]), x), [null, null])); + }; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair((x => pair(head([3, null]), x))(null), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], map(x => pair(head([3, null]), x), [null, null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair((x => pair(head([3, null]), x))(null), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], map(x => pair(head([3, null]), x), [null, null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair(pair(head([3, null]), null), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), [null, null], null)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair(pair(head([3, null]), null), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), [null, null], null)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair(pair(3, null), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], is_null([null, null]) ? reverse(null) : $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair(pair(3, null), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], is_null([null, null]) ? reverse(null) : $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair([3, null], null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], false ? reverse(null) : $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair([3, null], null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], false ? reverse(null) : $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, [[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $map(x => pair(head([3, null]), x), null, [[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), tail([null, null]), pair((x => pair(head([3, null]), x))(head([null, null])), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], is_null(null) ? reverse([[3, null], null]) : $map(x => pair(head([3, null]), x), tail(null), pair((x => pair(head([3, null]), x))(head(null)), [[3, null], null]))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair((x => pair(head([3, null]), x))(head([null, null])), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], is_null(null) ? reverse([[3, null], null]) : $map(x => pair(head([3, null]), x), tail(null), pair((x => pair(head([3, null]), x))(head(null)), [[3, null], null]))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair((x => pair(head([3, null]), x))(head([null, null])), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], true ? reverse([[3, null], null]) : $map(x => pair(head([3, null]), x), tail(null), pair((x => pair(head([3, null]), x))(head(null)), [[3, null], null]))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair((x => pair(head([3, null]), x))(null), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], true ? reverse([[3, null], null]) : $map(x => pair(head([3, null]), x), tail(null), pair((x => pair(head([3, null]), x))(head(null)), [[3, null], null]))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair((x => pair(head([3, null]), x))(null), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], reverse([[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair(pair(head([3, null]), null), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], reverse([[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair(pair(head([3, null]), null), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse([[3, null], null], null)); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair(pair(3, null), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse([[3, null], null], null)); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair(pair(3, null), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], is_null([[3, null], null]) ? null : $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair([3, null], null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], is_null([[3, null], null]) ? null : $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, pair([3, null], null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], false ? null : $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, [[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], false ? null : $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $map(x => pair(head([3, null]), x), null, [[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], is_null(null) ? reverse([[3, null], null]) : $map(x => pair(head([3, null]), x), tail(null), pair((x => pair(head([3, null]), x))(head(null)), [[3, null], null]))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], is_null(null) ? reverse([[3, null], null]) : $map(x => pair(head([3, null]), x), tail(null), pair((x => pair(head([3, null]), x))(head(null)), [[3, null], null]))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse(null, pair(head([[3, null], null]), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], true ? reverse([[3, null], null]) : $map(x => pair(head([3, null]), x), tail(null), pair((x => pair(head([3, null]), x))(head(null)), [[3, null], null]))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse(null, pair(head([[3, null], null]), null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], true ? reverse([[3, null], null]) : $map(x => pair(head([3, null]), x), tail(null), pair((x => pair(head([3, null]), x))(head(null)), [[3, null], null]))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse(null, pair([3, null], null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], reverse([[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse(null, pair([3, null], null))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], reverse([[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse(null, [[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $reverse([[3, null], null], null)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], $reverse(null, [[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $reverse([[3, null], null], null)); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], is_null(null) ? [[3, null], null] : $reverse(tail(null), pair(head(null), [[3, null], null]))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], is_null([[3, null], null]) ? null : $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], is_null(null) ? [[3, null], null] : $reverse(tail(null), pair(head(null), [[3, null], null]))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], is_null([[3, null], null]) ? null : $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], true ? [[3, null], null] : $reverse(tail(null), pair(head(null), [[3, null], null]))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], false ? null : $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], true ? [[3, null], null] : $reverse(tail(null), pair(head(null), [[3, null], null]))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], false ? null : $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], [[3, null], null]); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = append([null, null], [[3, null], null]); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $reverse(tail([[3, null], null]), pair(head([[3, null], null]), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = $append([null, null], [[3, null], null], xs => xs); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $reverse(null, pair(head([[3, null], null]), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = $append([null, null], [[3, null], null], xs => xs); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = append([null, null], $reverse(null, pair(head([[3, null], null]), null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], $reverse(null, pair([3, null], null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], $reverse(null, pair([3, null], null))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], $reverse(null, [[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], $reverse(null, [[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], is_null(null) ? [[3, null], null] : $reverse(tail(null), pair(head(null), [[3, null], null]))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], is_null(null) ? [[3, null], null] : $reverse(tail(null), pair(head(null), [[3, null], null]))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], true ? [[3, null], null] : $reverse(tail(null), pair(head(null), [[3, null], null]))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], true ? [[3, null], null] : $reverse(tail(null), pair(head(null), [[3, null], null]))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], [[3, null], null]); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = append([null, null], [[3, null], null]); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = $append([null, null], [[3, null], null], xs => xs); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = $append([null, null], [[3, null], null], xs => xs); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = is_null([null, null]) ? (xs => xs)([[3, null], null]) : $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = is_null([null, null]) ? (xs => xs)([[3, null], null]) : $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = false ? (xs => xs)([[3, null], null]) : $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } +}; + +{ + { + const rest = { + { + const rest = false ? (xs => xs)([[3, null], null]) : $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = is_null([null, null]) ? (xs => xs)([[3, null], null]) : $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = is_null([null, null]) ? (xs => xs)([[3, null], null]) : $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = false ? (xs => xs)([[3, null], null]) : $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = $append(null, [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = false ? (xs => xs)([[3, null], null]) : $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = $append(null, [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = is_null(null) ? (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]) : $append(tail(null), [[3, null], null], zs => (zs => (xs => xs)(pair(head([null, null]), zs)))(pair(head(null), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = $append(tail([null, null]), [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = is_null(null) ? (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]) : $append(tail(null), [[3, null], null], zs => (zs => (xs => xs)(pair(head([null, null]), zs)))(pair(head(null), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = $append(null, [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = true ? (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]) : $append(tail(null), [[3, null], null], zs => (zs => (xs => xs)(pair(head([null, null]), zs)))(pair(head(null), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = $append(null, [[3, null], null], zs => (xs => xs)(pair(head([null, null]), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = true ? (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]) : $append(tail(null), [[3, null], null], zs => (zs => (xs => xs)(pair(head([null, null]), zs)))(pair(head(null), zs))); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = is_null(null) ? (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]) : $append(tail(null), [[3, null], null], zs => (zs => (xs => xs)(pair(head([null, null]), zs)))(pair(head(null), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = is_null(null) ? (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]) : $append(tail(null), [[3, null], null], zs => (zs => (xs => xs)(pair(head([null, null]), zs)))(pair(head(null), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = true ? (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]) : $append(tail(null), [[3, null], null], zs => (zs => (xs => xs)(pair(head([null, null]), zs)))(pair(head(null), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = (xs => xs)(pair(head([null, null]), [[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = true ? (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]) : $append(tail(null), [[3, null], null], zs => (zs => (xs => xs)(pair(head([null, null]), zs)))(pair(head(null), zs))); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = (xs => xs)(pair(head([null, null]), [[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = (xs => xs)(pair(null, [[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = (zs => (xs => xs)(pair(head([null, null]), zs)))([[3, null], null]); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = (xs => xs)(pair(null, [[3, null], null])); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = (xs => xs)(pair(head([null, null]), [[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = (xs => xs)([null, [[3, null], null]]); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = (xs => xs)(pair(head([null, null]), [[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = (xs => xs)([null, [[3, null], null]]); + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = (xs => xs)(pair(null, [[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = [null, [[3, null], null]]; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = (xs => xs)(pair(null, [[3, null], null])); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + const rest = [null, [[3, null], null]]; + return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = (xs => xs)([null, [[3, null], null]]); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + return append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = (xs => xs)([null, [[3, null], null]]); - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + { + return append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); + } + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = [null, [[3, null], null]]; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + return append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - const rest = [null, [[3, null], null]]; - return append(rest, map(x => pair(head([2, [3, null]]), x), rest)); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = { + return append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); + }; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - return append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = { - return append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); - }; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]], null)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]], null)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]], null)); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null([null, [[3, null], null]]) ? reverse(null) : $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [null, [[3, null], null]], null)); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null([null, [[3, null], null]]) ? reverse(null) : $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null([null, [[3, null], null]]) ? reverse(null) : $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], false ? reverse(null) : $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null([null, [[3, null], null]]) ? reverse(null) : $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], false ? reverse(null) : $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], false ? reverse(null) : $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], false ? reverse(null) : $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), tail([null, [[3, null], null]]), pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair((x => pair(head([2, [3, null]]), x))(null), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair((x => pair(head([2, [3, null]]), x))(head([null, [[3, null], null]])), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair((x => pair(head([2, [3, null]]), x))(null), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair((x => pair(head([2, [3, null]]), x))(null), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair(pair(head([2, [3, null]]), null), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair((x => pair(head([2, [3, null]]), x))(null), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair(pair(head([2, [3, null]]), null), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair(pair(head([2, [3, null]]), null), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair(pair(2, null), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair(pair(head([2, [3, null]]), null), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair(pair(2, null), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair(pair(2, null), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair([2, null], null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair(pair(2, null), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair([2, null], null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair([2, null], null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], [[2, null], null])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], pair([2, null], null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], [[2, null], null])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], [[2, null], null])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null([[3, null], null]) ? reverse([[2, null], null]) : $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), [[3, null], null], [[2, null], null])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null([[3, null], null]) ? reverse([[2, null], null]) : $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null([[3, null], null]) ? reverse([[2, null], null]) : $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], false ? reverse([[2, null], null]) : $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null([[3, null], null]) ? reverse([[2, null], null]) : $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], false ? reverse([[2, null], null]) : $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], false ? reverse([[2, null], null]) : $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], false ? reverse([[2, null], null]) : $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), tail([[3, null], null]), pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair((x => pair(head([2, [3, null]]), x))([3, null]), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair((x => pair(head([2, [3, null]]), x))(head([[3, null], null])), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair((x => pair(head([2, [3, null]]), x))([3, null]), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair((x => pair(head([2, [3, null]]), x))([3, null]), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair(pair(head([2, [3, null]]), [3, null]), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair((x => pair(head([2, [3, null]]), x))([3, null]), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair(pair(head([2, [3, null]]), [3, null]), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair(pair(head([2, [3, null]]), [3, null]), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair(pair(2, [3, null]), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair(pair(head([2, [3, null]]), [3, null]), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair(pair(2, [3, null]), [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair(pair(2, [3, null]), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair([2, [3, null]], [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair(pair(2, [3, null]), [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair([2, [3, null]], [[2, null], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair([2, [3, null]], [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, [[2, [3, null]], [[2, null], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, pair([2, [3, null]], [[2, null], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, [[2, [3, null]], [[2, null], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, [[2, [3, null]], [[2, null], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null(null) ? reverse([[2, [3, null]], [[2, null], null]]) : $map(x => pair(head([2, [3, null]]), x), tail(null), pair((x => pair(head([2, [3, null]]), x))(head(null)), [[2, [3, null]], [[2, null], null]]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $map(x => pair(head([2, [3, null]]), x), null, [[2, [3, null]], [[2, null], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null(null) ? reverse([[2, [3, null]], [[2, null], null]]) : $map(x => pair(head([2, [3, null]]), x), tail(null), pair((x => pair(head([2, [3, null]]), x))(head(null)), [[2, [3, null]], [[2, null], null]]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null(null) ? reverse([[2, [3, null]], [[2, null], null]]) : $map(x => pair(head([2, [3, null]]), x), tail(null), pair((x => pair(head([2, [3, null]]), x))(head(null)), [[2, [3, null]], [[2, null], null]]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], true ? reverse([[2, [3, null]], [[2, null], null]]) : $map(x => pair(head([2, [3, null]]), x), tail(null), pair((x => pair(head([2, [3, null]]), x))(head(null)), [[2, [3, null]], [[2, null], null]]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null(null) ? reverse([[2, [3, null]], [[2, null], null]]) : $map(x => pair(head([2, [3, null]]), x), tail(null), pair((x => pair(head([2, [3, null]]), x))(head(null)), [[2, [3, null]], [[2, null], null]]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], true ? reverse([[2, [3, null]], [[2, null], null]]) : $map(x => pair(head([2, [3, null]]), x), tail(null), pair((x => pair(head([2, [3, null]]), x))(head(null)), [[2, [3, null]], [[2, null], null]]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], true ? reverse([[2, [3, null]], [[2, null], null]]) : $map(x => pair(head([2, [3, null]]), x), tail(null), pair((x => pair(head([2, [3, null]]), x))(head(null)), [[2, [3, null]], [[2, null], null]]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], reverse([[2, [3, null]], [[2, null], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], true ? reverse([[2, [3, null]], [[2, null], null]]) : $map(x => pair(head([2, [3, null]]), x), tail(null), pair((x => pair(head([2, [3, null]]), x))(head(null)), [[2, [3, null]], [[2, null], null]]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], reverse([[2, [3, null]], [[2, null], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], reverse([[2, [3, null]], [[2, null], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse([[2, [3, null]], [[2, null], null]], null)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], reverse([[2, [3, null]], [[2, null], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse([[2, [3, null]], [[2, null], null]], null)); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse([[2, [3, null]], [[2, null], null]], null)); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null([[2, [3, null]], [[2, null], null]]) ? null : $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse([[2, [3, null]], [[2, null], null]], null)); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null([[2, [3, null]], [[2, null], null]]) ? null : $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null([[2, [3, null]], [[2, null], null]]) ? null : $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], false ? null : $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null([[2, [3, null]], [[2, null], null]]) ? null : $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], false ? null : $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], false ? null : $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], false ? null : $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse([[2, null], null], pair(head([[2, [3, null]], [[2, null], null]]), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(tail([[2, [3, null]], [[2, null], null]]), pair(head([[2, [3, null]], [[2, null], null]]), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse([[2, null], null], pair(head([[2, [3, null]], [[2, null], null]]), null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse([[2, null], null], pair(head([[2, [3, null]], [[2, null], null]]), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse([[2, null], null], pair([2, [3, null]], null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse([[2, null], null], pair(head([[2, [3, null]], [[2, null], null]]), null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse([[2, null], null], pair([2, [3, null]], null))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse([[2, null], null], pair([2, [3, null]], null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse([[2, null], null], [[2, [3, null]], null])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse([[2, null], null], pair([2, [3, null]], null))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse([[2, null], null], [[2, [3, null]], null])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse([[2, null], null], [[2, [3, null]], null])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null([[2, null], null]) ? [[2, [3, null]], null] : $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse([[2, null], null], [[2, [3, null]], null])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null([[2, null], null]) ? [[2, [3, null]], null] : $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null([[2, null], null]) ? [[2, [3, null]], null] : $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], false ? [[2, [3, null]], null] : $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null([[2, null], null]) ? [[2, [3, null]], null] : $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], false ? [[2, [3, null]], null] : $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], false ? [[2, [3, null]], null] : $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], false ? [[2, [3, null]], null] : $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(null, pair(head([[2, null], null]), [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(tail([[2, null], null]), pair(head([[2, null], null]), [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(null, pair(head([[2, null], null]), [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(null, pair(head([[2, null], null]), [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(null, pair([2, null], [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(null, pair(head([[2, null], null]), [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(null, pair([2, null], [[2, [3, null]], null]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(null, pair([2, null], [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(null, [[2, null], [[2, [3, null]], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(null, pair([2, null], [[2, [3, null]], null]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], $reverse(null, [[2, null], [[2, [3, null]], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(null, [[2, null], [[2, [3, null]], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null(null) ? [[2, null], [[2, [3, null]], null]] : $reverse(tail(null), pair(head(null), [[2, null], [[2, [3, null]], null]]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], $reverse(null, [[2, null], [[2, [3, null]], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], is_null(null) ? [[2, null], [[2, [3, null]], null]] : $reverse(tail(null), pair(head(null), [[2, null], [[2, [3, null]], null]]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null(null) ? [[2, null], [[2, [3, null]], null]] : $reverse(tail(null), pair(head(null), [[2, null], [[2, [3, null]], null]]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], true ? [[2, null], [[2, [3, null]], null]] : $reverse(tail(null), pair(head(null), [[2, null], [[2, [3, null]], null]]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], is_null(null) ? [[2, null], [[2, [3, null]], null]] : $reverse(tail(null), pair(head(null), [[2, null], [[2, [3, null]], null]]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], true ? [[2, null], [[2, [3, null]], null]] : $reverse(tail(null), pair(head(null), [[2, null], [[2, [3, null]], null]]))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], true ? [[2, null], [[2, [3, null]], null]] : $reverse(tail(null), pair(head(null), [[2, null], [[2, [3, null]], null]]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], true ? [[2, null], [[2, [3, null]], null]] : $reverse(tail(null), pair(head(null), [[2, null], [[2, [3, null]], null]]))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]], xs => xs); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]], xs => xs); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]], xs => xs); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = is_null([null, [[3, null], null]]) ? (xs => xs)([[2, null], [[2, [3, null]], null]]) : $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append([null, [[3, null], null]], [[2, null], [[2, [3, null]], null]], xs => xs); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = is_null([null, [[3, null], null]]) ? (xs => xs)([[2, null], [[2, [3, null]], null]]) : $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = is_null([null, [[3, null], null]]) ? (xs => xs)([[2, null], [[2, [3, null]], null]]) : $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = false ? (xs => xs)([[2, null], [[2, [3, null]], null]]) : $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = is_null([null, [[3, null], null]]) ? (xs => xs)([[2, null], [[2, [3, null]], null]]) : $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = false ? (xs => xs)([[2, null], [[2, [3, null]], null]]) : $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = false ? (xs => xs)([[2, null], [[2, [3, null]], null]]) : $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = false ? (xs => xs)([[2, null], [[2, [3, null]], null]]) : $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append([[3, null], null], [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append(tail([null, [[3, null], null]]), [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append([[3, null], null], [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append([[3, null], null], [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = is_null([[3, null], null]) ? (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append([[3, null], null], [[2, null], [[2, [3, null]], null]], zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = is_null([[3, null], null]) ? (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = is_null([[3, null], null]) ? (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = false ? (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = is_null([[3, null], null]) ? (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = false ? (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = false ? (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = false ? (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append(null, [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append(tail([[3, null], null]), [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = $append(null, [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append(null, [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = is_null(null) ? (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail(null), [[2, null], [[2, [3, null]], null]], zs => (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))(pair(head(null), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = $append(null, [[2, null], [[2, [3, null]], null]], zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = is_null(null) ? (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail(null), [[2, null], [[2, [3, null]], null]], zs => (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))(pair(head(null), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = is_null(null) ? (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail(null), [[2, null], [[2, [3, null]], null]], zs => (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))(pair(head(null), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = true ? (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail(null), [[2, null], [[2, [3, null]], null]], zs => (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))(pair(head(null), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = is_null(null) ? (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail(null), [[2, null], [[2, [3, null]], null]], zs => (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))(pair(head(null), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = true ? (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail(null), [[2, null], [[2, [3, null]], null]], zs => (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))(pair(head(null), zs))); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = true ? (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail(null), [[2, null], [[2, [3, null]], null]], zs => (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))(pair(head(null), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = true ? (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]) : $append(tail(null), [[2, null], [[2, [3, null]], null]], zs => (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))(pair(head(null), zs))); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), [[2, null], [[2, [3, null]], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (zs => (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), zs)))([[2, null], [[2, [3, null]], null]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), [[2, null], [[2, [3, null]], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), [[2, null], [[2, [3, null]], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair([3, null], [[2, null], [[2, [3, null]], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair(head([[3, null], null]), [[2, null], [[2, [3, null]], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair([3, null], [[2, null], [[2, [3, null]], null]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair([3, null], [[2, null], [[2, [3, null]], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[3, null], [[2, null], [[2, [3, null]], null]]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))(pair([3, null], [[2, null], [[2, [3, null]], null]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[3, null], [[2, null], [[2, [3, null]], null]]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[3, null], [[2, null], [[2, [3, null]], null]]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (xs => xs)(pair(head([null, [[3, null], null]]), [[3, null], [[2, null], [[2, [3, null]], null]]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (zs => (xs => xs)(pair(head([null, [[3, null], null]]), zs)))([[3, null], [[2, null], [[2, [3, null]], null]]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (xs => xs)(pair(head([null, [[3, null], null]]), [[3, null], [[2, null], [[2, [3, null]], null]]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (xs => xs)(pair(head([null, [[3, null], null]]), [[3, null], [[2, null], [[2, [3, null]], null]]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (xs => xs)(pair(null, [[3, null], [[2, null], [[2, [3, null]], null]]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (xs => xs)(pair(head([null, [[3, null], null]]), [[3, null], [[2, null], [[2, [3, null]], null]]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (xs => xs)(pair(null, [[3, null], [[2, null], [[2, [3, null]], null]]])); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (xs => xs)(pair(null, [[3, null], [[2, null], [[2, [3, null]], null]]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (xs => xs)([null, [[3, null], [[2, null], [[2, [3, null]], null]]]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (xs => xs)(pair(null, [[3, null], [[2, null], [[2, [3, null]], null]]])); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = (xs => xs)([null, [[3, null], [[2, null], [[2, [3, null]], null]]]]); + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (xs => xs)([null, [[3, null], [[2, null], [[2, [3, null]], null]]]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = [null, [[3, null], [[2, null], [[2, [3, null]], null]]]]; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = (xs => xs)([null, [[3, null], [[2, null], [[2, [3, null]], null]]]]); - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + const rest = [null, [[3, null], [[2, null], [[2, [3, null]], null]]]]; + return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + } }; { - const rest = [null, [[3, null], [[2, null], [[2, [3, null]], null]]]]; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], map(x => pair(head([1, [2, [3, null]]]), x), [null, [[3, null], [[2, null], [[2, [3, null]], null]]]])); + } }; { - const rest = [null, [[3, null], [[2, null], [[2, [3, null]], null]]]]; - return append(rest, map(x => pair(head([1, [2, [3, null]]]), x), rest)); + { + return append([null, [[3, null], [[2, null], [[2, [3, null]], null]]]], map(x => pair(head([1, [2, [3, null]]]), x), [null, [[3, null], [[2, null], [[2, [3, null]], null]]]])); + } }; { diff --git a/src/stepper/stepper.ts b/src/stepper/stepper.ts index 35c7d96d0..f4ad26095 100644 --- a/src/stepper/stepper.ts +++ b/src/stepper/stepper.ts @@ -2211,12 +2211,18 @@ function reduceMain( paths[0].push('body[0]') const [reduced, cont, path, str] = reduce(firstStatement, context, paths) if (reduced.type === 'BlockStatement') { - const body = reduced.body as es.Statement[] - if (body.length > 1) { - path[1] = [...path[0].slice(0, path[0].length - 1)] - } - const wholeBlock = body.concat(...(otherStatements as es.Statement[])) - return [ast.blockExpression(wholeBlock), cont, path, str] + /** + * The new body for the if statement should not be unpacked. + * But reduce function returns the upacked ones. + * We need to manually repack the statements into a block. + */ + const newStatementBody = ast.blockStatement([...reduced.body]) + return [ + ast.blockExpression([newStatementBody, ...(otherStatements as es.Statement[])]), + cont, + path, + str + ] } else { return [ ast.blockExpression([