================================================================================
lambdas/amendLambdaExpr
================================================================================

hidden fun0 = () -> new Dynamic { zero = 0 }
hidden amend0 = (fun0) {
  amended = "amended"
}
res0 = amend0.apply()

hidden fun1 = (a) -> new Dynamic { one = a }
hidden amend1 = (fun1) {
  amended = "amended"
}
res1 = amend1.apply(1)

hidden fun2 = (a, b) -> new Dynamic { one = a; two = b }
hidden amend2 = (fun2) {
  amended = "amended"
}
res2 = amend2.apply(1, 2)

hidden fun3 = (a, b, c) -> new Dynamic { one = a; two = b; three = c }
hidden amend3 = (fun3) {
  amended = "amended"
}
res3 = amend3.apply(1, 2, 3)

hidden fun4 = (a, b, c, d) -> new Dynamic { one = a; two = b; three = c; four = d }
hidden amend4 = (fun4) {
  amended = "amended"
}
res4 = amend4.apply(1, 2, 3, 4)

hidden fun5 = (a, b, c, d, e) -> new Dynamic { one = a; two = b; three = c; four = d; five = e }
hidden amend5 = (fun5) {
  amended = "amended"
}
res5 = amend5.apply(1, 2, 3, 4, 5)

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

(module
  (classProperty
    (modifier)
    (identifier)
    (functionLiteral
      (parameterList)
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (intLiteral))))))
  (classProperty
    (modifier)
    (identifier)
    (objectLiteral
      (parenthesizedExpr
        (variableExpr
          (identifier)))
      (objectBody
        (objectProperty
          (identifier)
          (slStringLiteral)))))
  (classProperty
    (identifier)
    (methodCallExpr
      (variableExpr
        (identifier))
      (identifier)
      (argumentList)))
  (classProperty
    (modifier)
    (identifier)
    (functionLiteral
      (parameterList
        (typedIdentifier
          (identifier)))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))))))
  (classProperty
    (modifier)
    (identifier)
    (objectLiteral
      (parenthesizedExpr
        (variableExpr
          (identifier)))
      (objectBody
        (objectProperty
          (identifier)
          (slStringLiteral)))))
  (classProperty
    (identifier)
    (methodCallExpr
      (variableExpr
        (identifier))
      (identifier)
      (argumentList
        (intLiteral))))
  (classProperty
    (modifier)
    (identifier)
    (functionLiteral
      (parameterList
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier)))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))))))
  (classProperty
    (modifier)
    (identifier)
    (objectLiteral
      (parenthesizedExpr
        (variableExpr
          (identifier)))
      (objectBody
        (objectProperty
          (identifier)
          (slStringLiteral)))))
  (classProperty
    (identifier)
    (methodCallExpr
      (variableExpr
        (identifier))
      (identifier)
      (argumentList
        (intLiteral)
        (intLiteral))))
  (classProperty
    (modifier)
    (identifier)
    (functionLiteral
      (parameterList
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier)))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))))))
  (classProperty
    (modifier)
    (identifier)
    (objectLiteral
      (parenthesizedExpr
        (variableExpr
          (identifier)))
      (objectBody
        (objectProperty
          (identifier)
          (slStringLiteral)))))
  (classProperty
    (identifier)
    (methodCallExpr
      (variableExpr
        (identifier))
      (identifier)
      (argumentList
        (intLiteral)
        (intLiteral)
        (intLiteral))))
  (classProperty
    (modifier)
    (identifier)
    (functionLiteral
      (parameterList
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier)))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))))))
  (classProperty
    (modifier)
    (identifier)
    (objectLiteral
      (parenthesizedExpr
        (variableExpr
          (identifier)))
      (objectBody
        (objectProperty
          (identifier)
          (slStringLiteral)))))
  (classProperty
    (identifier)
    (methodCallExpr
      (variableExpr
        (identifier))
      (identifier)
      (argumentList
        (intLiteral)
        (intLiteral)
        (intLiteral)
        (intLiteral))))
  (classProperty
    (modifier)
    (identifier)
    (functionLiteral
      (parameterList
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier))
        (typedIdentifier
          (identifier)))
      (newExpr
        (type
          (qualifiedIdentifier
            (identifier)))
        (objectBody
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))
          (objectProperty
            (identifier)
            (variableExpr
              (identifier)))))))
  (classProperty
    (modifier)
    (identifier)
    (objectLiteral
      (parenthesizedExpr
        (variableExpr
          (identifier)))
      (objectBody
        (objectProperty
          (identifier)
          (slStringLiteral)))))
  (classProperty
    (identifier)
    (methodCallExpr
      (variableExpr
        (identifier))
      (identifier)
      (argumentList
        (intLiteral)
        (intLiteral)
        (intLiteral)
        (intLiteral)
        (intLiteral)))))
