(CommandList
  children: [
    (AndOr
      ops: [Op_DAmp]
      children: [
        (C {(Lit_Other '[')} 
          {
            (BracedVarSub
              token: <VSub_Name EVALUATOR__FUNCTIONS_BUILTIN_SH>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(true)})
              spids: [9 13]
            )
          } {(Lit_Other ']')}
        )
        (ControlFlow token:<ControlFlow_Return return>)
      ]
    )
    (Assignment
      keyword: Assign_Declare
      flags: [-g]
      pairs: [
        (assign_pair
          lhs: (LhsName name:EVALUATOR__FUNCTIONS_BUILTIN_SH)
          op: Equal
          rhs: {(true)}
          spids: [25]
        )
      ]
      spids: [21]
    )
    (C {(.)} 
      {
        (BracedVarSub
          token: <VSub_Name BASH_SOURCE>
          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')})
          spids: [31 36]
        ) (/common.sh)
      }
    )
    (C {(.)} 
      {
        (BracedVarSub
          token: <VSub_Name BASH_SOURCE>
          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')})
          spids: [41 46]
        ) (/variables.sh)
      }
    )
    (C {(.)} 
      {
        (BracedVarSub
          token: <VSub_Name BASH_SOURCE>
          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')})
          spids: [51 56]
        ) (/environment.sh)
      }
    )
    (FuncDef
      name: 'evaluator::functions::builtin::add'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} {(DQ ('evaluator::functions::builtin::add ') (${ VSub_At '@'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 93]
                )
              ]
              spids: [16777215 106]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [112]
                )
              ]
              spids: [110]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [122]
                )
              ]
              spids: [120]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [132]
                )
              ]
              spids: [130]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 169]
                )
              ]
              spids: [16777215 184]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [206]
                )
              ]
              spids: [204]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:result)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [247]
                )
              ]
              spids: [245]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [273]
                )
              ]
              spids: [271]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[283])]
              spids: [281]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[288])]
              spids: [286]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
                      {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [347]
                        )
                      ]
                      spids: [347]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 376]
                        )
                      ]
                      spids: [16777215 405]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [421]
                        )
                      ]
                      spids: [421]
                    )
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_PlusEqual
                          left: (LhsName name:result)
                          right: (ArithWord w:{(${ VSub_Name currentValue)})
                        )
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [458]
                        )
                      ]
                      spids: [458]
                    )
                  ]
                  spids: [311 466]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Integer)} 
              {(DQ (${ VSub_Name result))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [484]
                )
              ]
              spids: [484]
            )
          ]
          spids: [75]
        )
      spids: [60 74]
    )
    (FuncDef
      name: 'evaluator::functions::builtin::subtract'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} 
                          {(DQ ('evaluator::functions::builtin::subtract ') (${ VSub_At '@'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 527]
                )
              ]
              spids: [16777215 540]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [546]
                )
              ]
              spids: [544]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [556]
                )
              ]
              spids: [554]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [566]
                )
              ]
              spids: [564]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 603]
                )
              ]
              spids: [16777215 618]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [640]
                )
              ]
              spids: [638]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:result)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [681]
                )
              ]
              spids: [679]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [707]
                )
              ]
              spids: [705]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[717])]
              spids: [715]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[722])]
              spids: [720]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} 
                      {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [781]
                        )
                      ]
                      spids: [781]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 810]
                        )
                      ]
                      spids: [16777215 839]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [855]
                        )
                      ]
                      spids: [855]
                    )
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_MinusEqual
                          left: (LhsName name:result)
                          right: (ArithWord w:{(DQ (${ VSub_Name currentValue))})
                        )
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [894]
                        )
                      ]
                      spids: [894]
                    )
                  ]
                  spids: [745 902]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Integer)} 
              {(DQ (${ VSub_Name result))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [920]
                )
              ]
              spids: [920]
            )
          ]
          spids: [509]
        )
      spids: [494 508]
    )
    (FuncDef
      name: 'evaluator::functions::builtin::multiply'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} 
                          {(DQ ('evaluator::functions::builtin::multiply ') (${ VSub_At '@'))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 963]
                )
              ]
              spids: [16777215 976]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [982]
                )
              ]
              spids: [980]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [992]
                )
              ]
              spids: [990]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [1002]
                )
              ]
              spids: [1000]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 1039]
                )
              ]
              spids: [16777215 1054]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1076]
                )
              ]
              spids: [1074]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:result)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1117]
                )
              ]
              spids: [1115]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1143]
                )
              ]
              spids: [1141]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[1153])]
              spids: [1151]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[1158])]
              spids: [1156]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} 
                      {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [1217]
                        )
                      ]
                      spids: [1217]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 1246]
                        )
                      ]
                      spids: [16777215 1275]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [1291]
                        )
                      ]
                      spids: [1291]
                    )
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_StarEqual
                          left: (LhsName name:result)
                          right: (ArithWord w:{(DQ (${ VSub_Name currentValue))})
                        )
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [1330]
                        )
                      ]
                      spids: [1330]
                    )
                  ]
                  spids: [1181 1338]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Integer)} 
              {(DQ (${ VSub_Name result))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1356]
                )
              ]
              spids: [1356]
            )
          ]
          spids: [945]
        )
      spids: [930 944]
    )
    (FuncDef
      name: 'evaluator::functions::builtin::divide'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} {(DQ ('evaluator::functions::builtin::divide ') (${ VSub_At '@'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1399]
                )
              ]
              spids: [16777215 1412]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [1418]
                )
              ]
              spids: [1416]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [1428]
                )
              ]
              spids: [1426]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [1438]
                )
              ]
              spids: [1436]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 1475]
                )
              ]
              spids: [16777215 1490]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1512]
                )
              ]
              spids: [1510]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:result)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1553]
                )
              ]
              spids: [1551]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1579]
                )
              ]
              spids: [1577]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[1589])]
              spids: [1587]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[1594])]
              spids: [1592]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} 
                      {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [1653]
                        )
                      ]
                      spids: [1653]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 1682]
                        )
                      ]
                      spids: [16777215 1711]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [1727]
                        )
                      ]
                      spids: [1727]
                    )
                    (DParen
                      child: 
                        (BinaryAssign
                          op_id: Arith_SlashEqual
                          left: (LhsName name:result)
                          right: (ArithWord w:{(DQ (${ VSub_Name currentValue))})
                        )
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [1766]
                        )
                      ]
                      spids: [1766]
                    )
                  ]
                  spids: [1617 1774]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Integer)} 
              {(DQ (${ VSub_Name result))}
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1792]
                )
              ]
              spids: [1792]
            )
          ]
          spids: [1381]
        )
      spids: [1366 1380]
    )
    (FuncDef
      name: 'evaluator::functions::builtin::equals'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} {(DQ ('evaluator::functions::builtin::equals ') (${ VSub_At '@'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 1835]
                )
              ]
              spids: [16777215 1848]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [1854]
                )
              ]
              spids: [1852]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [1864]
                )
              ]
              spids: [1862]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [1874]
                )
              ]
              spids: [1872]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 1911]
                )
              ]
              spids: [16777215 1926]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1948]
                )
              ]
              spids: [1946]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:first)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [1989]
                )
              ]
              spids: [1987]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2015]
                )
              ]
              spids: [2013]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[2025])]
              spids: [2023]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[2030])]
              spids: [2028]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} 
                      {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [2089]
                        )
                      ]
                      spids: [2089]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 2118]
                        )
                      ]
                      spids: [16777215 2147]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [2163]
                        )
                      ]
                      spids: [2163]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_ne
                                      left: {($ VSub_Name '$first')}
                                      right: {($ VSub_Name '$currentValue')}
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESULT)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name RESULT))}
                                  spids: [2197]
                                )
                              ]
                              spids: [2197]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                            )
                          ]
                          spids: [16777215 2184]
                        )
                      ]
                      spids: [16777215 2208]
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [2226]
                        )
                      ]
                      spids: [2226]
                    )
                  ]
                  spids: [2053 2234]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2248]
                )
              ]
              spids: [2248]
            )
            (ControlFlow token:<ControlFlow_Return return>)
          ]
          spids: [1817]
        )
      spids: [1802 1816]
    )
    (FuncDef
      name: 'evaluator::functions::builtin::greaterthan'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} {(DQ ('evaluator::functions::builtin::equals ') (${ VSub_At '@'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 2294]
                )
              ]
              spids: [16777215 2307]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [2313]
                )
              ]
              spids: [2311]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [2323]
                )
              ]
              spids: [2321]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [2333]
                )
              ]
              spids: [2331]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 2370]
                )
              ]
              spids: [16777215 2385]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2407]
                )
              ]
              spids: [2405]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:first)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2448]
                )
              ]
              spids: [2446]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2474]
                )
              ]
              spids: [2472]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[2484])]
              spids: [2482]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[2489])]
              spids: [2487]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} 
                      {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [2548]
                        )
                      ]
                      spids: [2548]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 2577]
                        )
                      ]
                      spids: [16777215 2606]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [2622]
                        )
                      ]
                      spids: [2622]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalNot
                                      child: 
                                        (BoolBinary
                                          op_id: BoolBinary_gt
                                          left: {($ VSub_Name '$first')}
                                          right: {($ VSub_Name '$currentValue')}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESULT)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name RESULT))}
                                  spids: [2658]
                                )
                              ]
                              spids: [2658]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                            )
                          ]
                          spids: [16777215 2645]
                        )
                      ]
                      spids: [16777215 2669]
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [2687]
                        )
                      ]
                      spids: [2687]
                    )
                  ]
                  spids: [2512 2695]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2709]
                )
              ]
              spids: [2709]
            )
            (ControlFlow token:<ControlFlow_Return return>)
          ]
          spids: [2276]
        )
      spids: [2261 2275]
    )
    (FuncDef
      name: 'evaluator::functions::builtin::lessthan'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} {(DQ ('evaluator::functions::builtin::equals ') (${ VSub_At '@'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 2755]
                )
              ]
              spids: [16777215 2768]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [2774]
                )
              ]
              spids: [2772]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [2784]
                )
              ]
              spids: [2782]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [2794]
                )
              ]
              spids: [2792]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 2831]
                )
              ]
              spids: [16777215 2846]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2868]
                )
              ]
              spids: [2866]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:first)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2909]
                )
              ]
              spids: [2907]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [2935]
                )
              ]
              spids: [2933]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[2945])]
              spids: [2943]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[2950])]
              spids: [2948]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} 
                      {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [3009]
                        )
                      ]
                      spids: [3009]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 3038]
                        )
                      ]
                      spids: [16777215 3067]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [3083]
                        )
                      ]
                      spids: [3083]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalNot
                                      child: 
                                        (BoolBinary
                                          op_id: BoolBinary_lt
                                          left: {($ VSub_Name '$first')}
                                          right: {($ VSub_Name '$currentValue')}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESULT)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name RESULT))}
                                  spids: [3119]
                                )
                              ]
                              spids: [3119]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                            )
                          ]
                          spids: [16777215 3106]
                        )
                      ]
                      spids: [16777215 3130]
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [3148]
                        )
                      ]
                      spids: [3148]
                    )
                  ]
                  spids: [2973 3156]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [3170]
                )
              ]
              spids: [3170]
            )
            (ControlFlow token:<ControlFlow_Return return>)
          ]
          spids: [2737]
        )
      spids: [2722 2736]
    )
    (FuncDef
      name: 'evaluator::functions::builtin::greaterthanorequal'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} {(DQ ('evaluator::functions::builtin::equals ') (${ VSub_At '@'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 3216]
                )
              ]
              spids: [16777215 3229]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [3235]
                )
              ]
              spids: [3233]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [3245]
                )
              ]
              spids: [3243]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [3255]
                )
              ]
              spids: [3253]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 3292]
                )
              ]
              spids: [16777215 3307]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [3329]
                )
              ]
              spids: [3327]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:first)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [3370]
                )
              ]
              spids: [3368]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [3396]
                )
              ]
              spids: [3394]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[3406])]
              spids: [3404]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[3411])]
              spids: [3409]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} 
                      {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [3470]
                        )
                      ]
                      spids: [3470]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 3499]
                        )
                      ]
                      spids: [16777215 3528]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [3544]
                        )
                      ]
                      spids: [3544]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalNot
                                      child: 
                                        (BoolBinary
                                          op_id: BoolBinary_ge
                                          left: {($ VSub_Name '$first')}
                                          right: {($ VSub_Name '$currentValue')}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESULT)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name RESULT))}
                                  spids: [3580]
                                )
                              ]
                              spids: [3580]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                            )
                          ]
                          spids: [16777215 3567]
                        )
                      ]
                      spids: [16777215 3591]
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [3609]
                        )
                      ]
                      spids: [3609]
                    )
                  ]
                  spids: [3434 3617]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [3631]
                )
              ]
              spids: [3631]
            )
            (ControlFlow token:<ControlFlow_Return return>)
          ]
          spids: [3198]
        )
      spids: [3183 3197]
    )
    (FuncDef
      name: 'evaluator::functions::builtin::lessthanorequal'
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(${ VSub_Name EVALUATOR_DEBUG)}
                              right: {(1)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Sentence
                      child: 
                        (C {(stderr)} {(DQ ('evaluator::functions::builtin::equals ') (${ VSub_At '@'))})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  spids: [16777215 3677]
                )
              ]
              spids: [16777215 3690]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:env)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [3696]
                )
              ]
              spids: [3694]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:functionName)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 2))}
                  spids: [3706]
                )
              ]
              spids: [3704]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:argsToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 3))}
                  spids: [3716]
                )
              ]
              spids: [3714]
            )
            (C 
              {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') (Lit_Other ':') 
                (length)
              } {(DQ (${ VSub_Name argsToken))}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: Redir_Less
                              left: {($ VSub_Name '$RESULT')}
                              right: {(2)}
                            )
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(stderr)} {(DQ ('add not valid with less than 2 arguments'))})
                    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
                  ]
                  spids: [16777215 3753]
                )
              ]
              spids: [16777215 3768]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (first)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:headToken)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [3790]
                )
              ]
              spids: [3788]
            )
            (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} {(DQ (${ VSub_Name env))} 
              {(DQ (${ VSub_Name RESULT))}
            )
            (Sentence
              child: 
                (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Name RESULT))})
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:first)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [3831]
                )
              ]
              spids: [3829]
            )
            (Sentence
              child: 
                (C 
                  {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                    (Lit_Other ':') (rest)
                  } {(DQ (${ VSub_Name argsToken))}
                )
              terminator: <Op_Semi ';'>
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rest)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [3857]
                )
              ]
              spids: [3855]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentToken) op:Equal spids:[3867])]
              spids: [3865]
            )
            (Assignment
              keyword: Assign_Declare
              pairs: [(assign_pair lhs:(LhsName name:currentValue) op:Equal spids:[3872])]
              spids: [3870]
            )
            (While
              cond: [
                (Sentence
                  child: 
                    (Pipeline
                      children: [
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (isEmpty_c)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      ]
                      negated: T
                    )
                  terminator: <Op_Semi ';'>
                )
              ]
              body: 
                (DoGroup
                  children: [
                    (C 
                      {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                        (Lit_Other ':') (first)
                      } {(DQ (${ VSub_Name rest))}
                    )
                    (C {(evaluator) (Lit_Other ':') (Lit_Other ':') (eval)} 
                      {(DQ (${ VSub_Name envToken))} {(DQ (${ VSub_Name RESULT))}
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentToken)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [3931]
                        )
                      ]
                      spids: [3931]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (Pipeline
                                  children: [
                                    (C 
                                      {(variable) (Lit_Other ':') (Lit_Other ':') (type) 
                                        (Lit_Other ':') (Lit_Other ':') (instanceOf)
                                      } {(DQ (${ VSub_Name currentToken))} {(Integer)}
                                    )
                                  ]
                                  negated: T
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (type)} 
                              {(${ VSub_Name currentToken)}
                            )
                            (C {(stderr)} {(DQ ('Cannot add type [') (${ VSub_Name RESULT) (']'))})
                            (ControlFlow
                              token: <ControlFlow_Exit exit>
                              arg_word: {(1)}
                            )
                          ]
                          spids: [16777215 3960]
                        )
                      ]
                      spids: [16777215 3989]
                    )
                    (Sentence
                      child: 
                        (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} 
                          {(DQ (${ VSub_Name currentToken))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:currentValue)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [4005]
                        )
                      ]
                      spids: [4005]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalNot
                                      child: 
                                        (BoolBinary
                                          op_id: BoolBinary_le
                                          left: {($ VSub_Name '$first')}
                                          right: {($ VSub_Name '$currentValue')}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(false)})
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:RESULT)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name RESULT))}
                                  spids: [4041]
                                )
                              ]
                              spids: [4041]
                            )
                            (ControlFlow
                              token: <ControlFlow_Return return>
                            )
                          ]
                          spids: [16777215 4028]
                        )
                      ]
                      spids: [16777215 4052]
                    )
                    (Sentence
                      child: 
                        (C 
                          {(variable) (Lit_Other ':') (Lit_Other ':') (LinkedList) (Lit_Other ':') 
                            (Lit_Other ':') (rest)
                          } {(DQ (${ VSub_Name rest))}
                        )
                      terminator: <Op_Semi ';'>
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:rest)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name RESULT))}
                          spids: [4070]
                        )
                      ]
                      spids: [4070]
                    )
                  ]
                  spids: [3895 4078]
                )
            )
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (new)} {(Boolean)} {(true)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name RESULT))}
                  spids: [4092]
                )
              ]
              spids: [4092]
            )
            (ControlFlow token:<ControlFlow_Return return>)
          ]
          spids: [3659]
        )
      spids: [3644 3658]
    )
  ]
)