diff --git a/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md b/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md index afade2e0dc0..df52d62e7f2 100644 --- a/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md +++ b/docs/release-notes/.FSharp.Compiler.Service/8.0.300.md @@ -1,5 +1,6 @@ ### Fixed +* Don't blow the stack when traversing deeply nested sequential expressions. ([PR #16882](https://github.com/dotnet/fsharp/pull/16882)) * Fix wrong range start of INTERP_STRING_END. ([PR #16774](https://github.com/dotnet/fsharp/pull/16774), [PR #16785](https://github.com/dotnet/fsharp/pull/16785)) * Fix missing warning for recursive calls in list comprehensions. ([PR #16652](https://github.com/dotnet/fsharp/pull/16652)) * Code generated files with > 64K methods and generated symbols crash when loaded. Use infered sequence points for debugging. ([Issue #16399](https://github.com/dotnet/fsharp/issues/16399), [#PR 16514](https://github.com/dotnet/fsharp/pull/16514)) diff --git a/src/Compiler/Service/ServiceParseTreeWalk.fs b/src/Compiler/Service/ServiceParseTreeWalk.fs index d0c0132dc6b..c395c9422d2 100644 --- a/src/Compiler/Service/ServiceParseTreeWalk.fs +++ b/src/Compiler/Service/ServiceParseTreeWalk.fs @@ -379,6 +379,31 @@ module SyntaxTraversal = and traverseSynExpr origPath (expr: SynExpr) = let pick = pick expr.Range + /// Sequential expressions are more likely than + /// most other expression kinds to be deeply nested, + /// e.g., in very large list or array expressions. + /// We treat them specially to avoid blowing the stack, + /// since traverseSynExpr itself is not tail-recursive. + let rec traverseSequentials path expr = + seq { + match expr with + | SynExpr.Sequential(expr1 = expr1; expr2 = SynExpr.Sequential _ as expr2) -> + // It's a nested sequential expression. + // Visit it, but make defaultTraverse do nothing, + // since we're going to traverse its descendants ourselves. + yield dive expr expr.Range (fun expr -> visitor.VisitExpr(path, traverseSynExpr path, (fun _ -> None), expr)) + + // Now traverse its descendants. + let path = SyntaxNode.SynExpr expr :: path + yield dive expr1 expr1.Range (traverseSynExpr path) + yield! traverseSequentials path expr2 + + | _ -> + // It's not a nested sequential expression. + // Traverse it normally. + yield dive expr expr.Range (traverseSynExpr path) + } + let defaultTraverse e = let path = SyntaxNode.SynExpr e :: origPath let traverseSynExpr = traverseSynExpr path @@ -680,11 +705,19 @@ module SyntaxTraversal = ] |> pick expr + // Nested sequentials. + | SynExpr.Sequential(expr1 = synExpr1; expr2 = synExpr2 & SynExpr.Sequential _) -> + [ + dive synExpr1 synExpr1.Range traverseSynExpr + yield! traverseSequentials path synExpr2 + ] + |> pick expr + + | SynExpr.Sequential(expr1 = synExpr1; expr2 = synExpr2) | SynExpr.Set(targetExpr = synExpr1; rhsExpr = synExpr2) | SynExpr.DotSet(targetExpr = synExpr1; rhsExpr = synExpr2) | SynExpr.TryFinally(tryExpr = synExpr1; finallyExpr = synExpr2) | SynExpr.SequentialOrImplicitYield(expr1 = synExpr1; expr2 = synExpr2) - | SynExpr.Sequential(expr1 = synExpr1; expr2 = synExpr2) | SynExpr.While(whileExpr = synExpr1; doExpr = synExpr2) | SynExpr.WhileBang(whileExpr = synExpr1; doExpr = synExpr2) | SynExpr.DotIndexedGet(objectExpr = synExpr1; indexArgs = synExpr2) diff --git a/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj b/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj index dd3e21cea91..4b6e9a9fe4a 100644 --- a/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj +++ b/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj @@ -75,6 +75,7 @@ + diff --git a/tests/FSharp.Compiler.UnitTests/ParsedInputModuleTests.VeryBigArrayExprTest.fs b/tests/FSharp.Compiler.UnitTests/ParsedInputModuleTests.VeryBigArrayExprTest.fs new file mode 100644 index 00000000000..084417882d1 --- /dev/null +++ b/tests/FSharp.Compiler.UnitTests/ParsedInputModuleTests.VeryBigArrayExprTest.fs @@ -0,0 +1,5024 @@ +module Tests.Service.ParsedInputModule.VeryBigArrayExprTest + +#if !DEBUG +open FSharp.Compiler.Service.Tests.Common +open FSharp.Compiler.Syntax +open Xunit + +[] +let ``fold doesn't blow the stack when traversing very big arrays`` () = + let source = """ +module M + +let _ = + [| + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + (fun () -> 2 + 2) + |] +""" + + let parseTree = parseSourceCode ("C:\\test.fs", source) + + do + ((), parseTree) + ||> ParsedInput.fold (fun () path node -> ignore (path, node)) +#endif diff --git a/tests/FSharp.Compiler.UnitTests/ParsedInputModuleTests.fs b/tests/FSharp.Compiler.UnitTests/ParsedInputModuleTests.fs index 635c000f4af..ead03f14402 100644 --- a/tests/FSharp.Compiler.UnitTests/ParsedInputModuleTests.fs +++ b/tests/FSharp.Compiler.UnitTests/ParsedInputModuleTests.fs @@ -1,4 +1,4 @@ -module Tests.Service.ParsedInputModuleTests +module Tests.Service.ParsedInputModule.Tests open FSharp.Compiler.Service.Tests.Common open FSharp.Compiler.Syntax