--- parse tree ---
[ Code
    "test/typ/compiler/call-00.typ"
    ( line 1 , column 2 )
    (Let
       (BasicBind (Just (Identifier "test")))
       (FuncExpr
          [ NormalParam (Identifier "x") , NormalParam (Identifier "y") ]
          (Block
             (CodeBlock
                [ If
                    [ ( Equals (Ident (Identifier "x")) (Ident (Identifier "y"))
                      , Block (Content [ Text "\9989" ])
                      )
                    , ( Literal (Boolean True)
                      , Block
                          (Content
                             [ Text "\10060"
                             , Text "("
                             , Code
                                 "test/typ/compiler/call-00.typ"
                                 ( line 1 , column 47 )
                                 (FuncCall
                                    (Ident (Identifier "repr"))
                                    [ NormalArg (Ident (Identifier "x")) ])
                             , Space
                             , Text "/"
                             , Text "="
                             , Space
                             , Code
                                 "test/typ/compiler/call-00.typ"
                                 ( line 1 , column 59 )
                                 (FuncCall
                                    (Ident (Identifier "repr"))
                                    [ NormalArg (Ident (Identifier "y")) ])
                             , Text ")"
                             ])
                      )
                    ]
                ]))))
, SoftBreak
, Comment
, SoftBreak
, Comment
, Code
    "test/typ/compiler/call-00.typ"
    ( line 5 , column 2 )
    (LetFunc (Identifier "f") [] (Block (CodeBlock [])))
, SoftBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 6 , column 2 )
    (Block
       (Content
          [ Code
              "test/typ/compiler/call-00.typ"
              ( line 6 , column 4 )
              (FuncCall (Ident (Identifier "f")) [])
          , Strong [ Text "Bold" ]
          ]))
, ParBreak
, Comment
, Code
    "test/typ/compiler/call-00.typ"
    ( line 9 , column 2 )
    (LetFunc
       (Identifier "f")
       [ NormalParam (Identifier "x") , NormalParam (Identifier "body") ]
       (FuncExpr
          [ NormalParam (Identifier "y") ]
          (Plus
             (Plus
                (Block
                   (Content
                      [ Code
                          "test/typ/compiler/call-00.typ"
                          ( line 9 , column 28 )
                          (Ident (Identifier "x"))
                      ]))
                (Ident (Identifier "body")))
             (Block
                (Content
                   [ Code
                       "test/typ/compiler/call-00.typ"
                       ( line 9 , column 42 )
                       (Ident (Identifier "y"))
                   ])))))
, SoftBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 10 , column 2 )
    (FuncCall
       (FuncCall
          (Ident (Identifier "f"))
          [ NormalArg (Literal (Int 1)) , BlockArg [ Text "2" ] ])
       [ NormalArg (Literal (Int 3)) ])
, ParBreak
, Comment
, Code
    "test/typ/compiler/call-00.typ"
    ( line 13 , column 2 )
    (Ident (Identifier "test"))
, Space
, Text "("
, Text "it)"
, ParBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 15 , column 2 )
    (LetFunc
       (Identifier "f")
       [ NormalParam (Identifier "body") ]
       (Ident (Identifier "body")))
, SoftBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 16 , column 2 )
    (FuncCall (Ident (Identifier "f")) [ BlockArg [ Text "A" ] ])
, SoftBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 17 , column 2 )
    (FuncCall (Ident (Identifier "f")) [ BlockArg [ Text "A" ] ])
, SoftBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 18 , column 2 )
    (FuncCall
       (Ident (Identifier "f"))
       [ NormalArg (Block (Content [ Text "A" ])) ])
, ParBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 20 , column 2 )
    (LetFunc
       (Identifier "g")
       [ NormalParam (Identifier "a") , NormalParam (Identifier "b") ]
       (Plus (Ident (Identifier "a")) (Ident (Identifier "b"))))
, SoftBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 21 , column 2 )
    (FuncCall
       (Ident (Identifier "g"))
       [ BlockArg [ Text "A" ] , BlockArg [ Text "B" ] ])
, SoftBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 22 , column 2 )
    (FuncCall
       (Ident (Identifier "g"))
       [ NormalArg (Block (Content [ Text "A" ]))
       , NormalArg (Block (Content [ Text "B" ]))
       ])
, SoftBreak
, Code
    "test/typ/compiler/call-00.typ"
    ( line 23 , column 2 )
    (FuncCall
       (Ident (Identifier "g"))
       [ BlockArg [ Text "A" ] , BlockArg [ Text "B" ] ])
, ParBreak
]
--- evaluated ---
document(body: { text(body: [
]), 
                 text(body: [
]), 
                 text(body: [
]), 
                 strong(body: text(body: [Bold])), 
                 parbreak(), 
                 text(body: [
]), 
                 text(body: [1]), 
                 text(body: [2]), 
                 text(body: [3]), 
                 parbreak(), 
                 text(body: [ (it)]), 
                 parbreak(), 
                 text(body: [
]), 
                 text(body: [A]), 
                 text(body: [
]), 
                 text(body: [A]), 
                 text(body: [
]), 
                 text(body: [A]), 
                 parbreak(), 
                 text(body: [
]), 
                 text(body: [A]), 
                 text(body: [B]), 
                 text(body: [
]), 
                 text(body: [A]), 
                 text(body: [B]), 
                 text(body: [
]), 
                 text(body: [A]), 
                 text(body: [B]), 
                 parbreak() })