--- parse tree ---
[ Code
    "test/typ/compiler/set-04.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/set-04.typ"
                                 ( line 1 , column 47 )
                                 (FuncCall
                                    (Ident (Identifier "repr"))
                                    [ NormalArg (Ident (Identifier "x")) ])
                             , Space
                             , Text "/"
                             , Text "="
                             , Space
                             , Code
                                 "test/typ/compiler/set-04.typ"
                                 ( line 1 , column 59 )
                                 (FuncCall
                                    (Ident (Identifier "repr"))
                                    [ NormalArg (Ident (Identifier "y")) ])
                             , Text ")"
                             ])
                      )
                    ]
                ]))))
, SoftBreak
, Comment
, Code
    "test/typ/compiler/set-04.typ"
    ( line 3 , column 2 )
    (Let
       (BasicBind (Just (Identifier "choice")))
       (Array
          [ Reg (Literal (String "monkey.svg"))
          , Reg (Literal (String "rhino.png"))
          , Reg (Literal (String "tiger.jpg"))
          ]))
, SoftBreak
, Code
    "test/typ/compiler/set-04.typ"
    ( line 4 , column 2 )
    (Set
       (Ident (Identifier "enum"))
       [ KeyValArg
           (Identifier "numbering")
           (FuncExpr
              [ NormalParam (Identifier "n") ]
              (Block
                 (CodeBlock
                    [ Let
                        (BasicBind (Just (Identifier "path")))
                        (Plus
                           (Literal (String "/"))
                           (FuncCall
                              (FieldAccess
                                 (Ident (Identifier "at")) (Ident (Identifier "choice")))
                              [ NormalArg (Minus (Ident (Identifier "n")) (Literal (Int 1))) ]))
                    , FuncCall
                        (Ident (Identifier "move"))
                        [ KeyValArg (Identifier "dy") (Negated (Literal (Numeric 0.15 Em)))
                        , NormalArg
                            (FuncCall
                               (Ident (Identifier "image"))
                               [ NormalArg (Ident (Identifier "path"))
                               , KeyValArg (Identifier "width") (Literal (Numeric 1.0 Em))
                               , KeyValArg (Identifier "height") (Literal (Numeric 1.0 Em))
                               ])
                        ]
                    ])))
       ])
, ParBreak
, EnumListItem Nothing [ Text "Monkey" ]
, SoftBreak
, EnumListItem Nothing [ Text "Rhino" ]
, SoftBreak
, EnumListItem Nothing [ Text "Tiger" , ParBreak ]
]
--- evaluated ---
document(body: { text(body: [
]), 
                 text(body: [
]), 
                 parbreak(), 
                 enum(children: (text(body: [Monkey]), 
                                 text(body: [Rhino]), 
                                 { text(body: [Tiger]), 
                                   parbreak() }), 
                      numbering: ) })