(CommandList
  children: [
    (FuncDef
      name: _Dbg_is_function
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DEqual
                      left: (ArithWord w:{(Lit_Digits 0)})
                      right: (ArithWord w:{($ VSub_Pound '$#')})
                    )
                  spids: [77 86]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [
                (assign_pair
                  lhs: (LhsName name:needed_fn)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [97]
                )
              ]
              spids: [95]
            )
            (Assignment
              keyword: Assign_Typeset
              flags: [-i]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:include_system)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 2>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)})
                        spids: [106 110]
                      )
                    }
                  spids: [105]
                )
              ]
              spids: [101]
            )
            (AndOr
              ops: [Op_DAmp Op_DAmp]
              children: [
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: 
                        {
                          (BracedVarSub
                            token: <VSub_Name needed_fn>
                            suffix_op: 
                              (Slice
                                begin: (ArithWord w:{(Lit_Digits 0)})
                                length: (ArithWord w:{(Lit_Digits 1)})
                              )
                            spids: [115 121]
                          )
                        }
                      right: {(SQ <_>)}
                    )
                )
                (DParen
                  child: (ArithUnary op_id:Arith_Bang child:(ArithVarRef name:include_system))
                  spids: [133 137]
                )
                (BraceGroup
                  children: [(ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})]
                  spids: [141]
                )
              ]
            )
            (SimpleCommand
              words: [{(Assign_Declare declare)} {(-F)} {($ VSub_Name '$needed_fn')}]
              redirects: [
                (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(/dev/null)})
                (Redir op:<Redir_GreatAnd '2>&'> fd:2 arg_word:{(1)})
              ]
            )
            (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_QMark '$?')})
          ]
          spids: [74]
        )
      spids: [70 73]
    )
    (FuncDef
      name: _Dbg_is_int
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DEqual
                      left: (ArithWord w:{(Lit_Digits 1)})
                      right: (ArithWord w:{($ VSub_Pound '$#')})
                    )
                  spids: [182 191]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(1)} spids:[202])]
              spids: [200]
            )
            (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))})
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: {($ VSub_Number '$1')}
                      right: {($ VSub_Name '$int_pat')}
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[225])]
                  spids: [225]
                )
              ]
            )
            (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_Name '$rc')})
          ]
          spids: [179]
        )
      spids: [175 178]
    )
    (FuncDef
      name: _Dbg_is_signed_int
      body: 
        (BraceGroup
          children: [
            (AndOr
              ops: [Op_DPipe]
              children: [
                (DParen
                  child: 
                    (ArithBinary
                      op_id: Arith_DEqual
                      left: (ArithWord w:{(Lit_Digits 1)})
                      right: (ArithWord w:{($ VSub_Pound '$#')})
                    )
                  spids: [253 262]
                )
                (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
              ]
            )
            (Assignment
              keyword: Assign_Typeset
              pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(1)} spids:[273])]
              spids: [271]
            )
            (C {(eval)} {(DQ ($ VSub_Name '$_seteglob'))})
            (AndOr
              ops: [Op_DAmp]
              children: [
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: {($ VSub_Number '$1')}
                      right: {($ VSub_Name '$_Dbg_signed_int_pat')}
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [(assign_pair lhs:(LhsName name:rc) op:Equal rhs:{(0)} spids:[296])]
                  spids: [296]
                )
              ]
            )
            (C {(eval)} {(DQ ($ VSub_Name '$_resteglob'))})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{($ VSub_Name '$rc')})
          ]
          spids: [250]
        )
      spids: [246 249]
    )
  ]
)