================================================================================
lambdas/lambda4
================================================================================

n = 999
n2 = 999

res1 = List(1, 2, 3).flatMap((n) ->
  List(4, 5, 6).map((n2) -> n2 * n)
)

res2 = List(1, 2, 3).flatMap((n) ->
  List(4, 5, 6).map((n) -> n * n)
)

res3 = List(1, 2, 3).flatMap((n) ->
  List(4, 5, 6).map((n2) -> n2 * n) + List(4, 5, 6).map((n2) -> n2 * n)
)

--------------------------------------------------------------------------------

(module
  (classProperty
    (identifier)
    (intLiteral))
  (classProperty
    (identifier)
    (intLiteral))
  (classProperty
    (identifier)
    (methodCallExpr
      (methodCallExpr
        (identifier)
        (argumentList
          (intLiteral)
          (intLiteral)
          (intLiteral)))
      (identifier)
      (argumentList
        (functionLiteral
          (parameterList
            (typedIdentifier
              (identifier)))
          (methodCallExpr
            (methodCallExpr
              (identifier)
              (argumentList
                (intLiteral)
                (intLiteral)
                (intLiteral)))
            (identifier)
            (argumentList
              (functionLiteral
                (parameterList
                  (typedIdentifier
                    (identifier)))
                (binaryExpr
                  (variableExpr
                    (identifier))
                  (variableExpr
                    (identifier))))))))))
  (classProperty
    (identifier)
    (methodCallExpr
      (methodCallExpr
        (identifier)
        (argumentList
          (intLiteral)
          (intLiteral)
          (intLiteral)))
      (identifier)
      (argumentList
        (functionLiteral
          (parameterList
            (typedIdentifier
              (identifier)))
          (methodCallExpr
            (methodCallExpr
              (identifier)
              (argumentList
                (intLiteral)
                (intLiteral)
                (intLiteral)))
            (identifier)
            (argumentList
              (functionLiteral
                (parameterList
                  (typedIdentifier
                    (identifier)))
                (binaryExpr
                  (variableExpr
                    (identifier))
                  (variableExpr
                    (identifier))))))))))
  (classProperty
    (identifier)
    (methodCallExpr
      (methodCallExpr
        (identifier)
        (argumentList
          (intLiteral)
          (intLiteral)
          (intLiteral)))
      (identifier)
      (argumentList
        (functionLiteral
          (parameterList
            (typedIdentifier
              (identifier)))
          (methodCallExpr
            (binaryExpr
              (methodCallExpr
                (methodCallExpr
                  (identifier)
                  (argumentList
                    (intLiteral)
                    (intLiteral)
                    (intLiteral)))
                (identifier)
                (argumentList
                  (functionLiteral
                    (parameterList
                      (typedIdentifier
                        (identifier)))
                    (binaryExpr
                      (variableExpr
                        (identifier))
                      (variableExpr
                        (identifier))))))
              (methodCallExpr
                (identifier)
                (argumentList
                  (intLiteral)
                  (intLiteral)
                  (intLiteral))))
            (identifier)
            (argumentList
              (functionLiteral
                (parameterList
                  (typedIdentifier
                    (identifier)))
                (binaryExpr
                  (variableExpr
                    (identifier))
                  (variableExpr
                    (identifier)))))))))))
