(command.CommandList
  children: [
    (command.ShFunction
      name: _Dbg_is_function
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (command.DParen
                  child: 
                    (arith_expr.Binary
                      op_id: Id.Arith_DEqual
                      left: {<Id.Lit_Digits 0>}
                      right: {($ Id.VSub_Pound '$#')}
                    )
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<typeset>} {<Id.Lit_VarLike 'needed_fn='> ($ Id.VSub_Number '$1')})
            (C {<typeset>} {<-i>} 
              {<Id.Lit_VarLike 'include_system='> 
                (braced_var_sub
                  token: <Id.VSub_Number 2>
                  suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<0>})
                )
              }
            )
            (command.AndOr
              ops: [Id.Op_DAmp Id.Op_DAmp]
              children: [
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_GlobDEqual
                      left: 
                        {
                          (braced_var_sub
                            token: <Id.VSub_Name needed_fn>
                            suffix_op: 
                              (suffix_op.Slice
                                begin: {<Id.Lit_Digits 0>}
                                length: {<Id.Lit_Digits 1>}
                              )
                          )
                        }
                      right: {(SQ <_>)}
                    )
                )
                (command.DParen
                  child: 
                    (arith_expr.Unary
                      op_id: Id.Arith_Bang
                      child: <Id.Lit_ArithVarLike include_system>
                    )
                )
                (BraceGroup
                  children: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<1>})]
                )
              ]
            )
            (command.Simple
              words: [{<declare>} {<-F>} {($ Id.VSub_DollarName '$needed_fn')}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
                (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})
              ]
              do_fork: T
            )
            (command.ControlFlow
              token: <Id.ControlFlow_Return return>
              arg_word: {($ Id.VSub_QMark '$?')}
            )
          ]
        )
    )
    (command.ShFunction
      name: _Dbg_is_int
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (command.DParen
                  child: 
                    (arith_expr.Binary
                      op_id: Id.Arith_DEqual
                      left: {<Id.Lit_Digits 1>}
                      right: {($ Id.VSub_Pound '$#')}
                    )
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<typeset>} {<Id.Lit_VarLike 'rc='> <1>})
            (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_seteglob'))})
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_GlobDEqual
                      left: {($ Id.VSub_Number '$1')}
                      right: {($ Id.VSub_DollarName '$int_pat')}
                    )
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:rc)
                      op: assign_op.Equal
                      rhs: {<0>}
                      spids: [225]
                    )
                  ]
                )
              ]
            )
            (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_resteglob'))})
            (command.ControlFlow
              token: <Id.ControlFlow_Return return>
              arg_word: {($ Id.VSub_DollarName '$rc')}
            )
          ]
        )
    )
    (command.ShFunction
      name: _Dbg_is_signed_int
      body: 
        (BraceGroup
          children: [
            (command.AndOr
              ops: [Id.Op_DPipe]
              children: [
                (command.DParen
                  child: 
                    (arith_expr.Binary
                      op_id: Id.Arith_DEqual
                      left: {<Id.Lit_Digits 1>}
                      right: {($ Id.VSub_Pound '$#')}
                    )
                )
                (command.ControlFlow
                  token: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
            )
            (C {<typeset>} {<Id.Lit_VarLike 'rc='> <1>})
            (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_seteglob'))})
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (command.DBracket
                  expr: 
                    (bool_expr.Binary
                      op_id: Id.BoolBinary_GlobDEqual
                      left: {($ Id.VSub_Number '$1')}
                      right: {($ Id.VSub_DollarName '$_Dbg_signed_int_pat')}
                    )
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name name:rc)
                      op: assign_op.Equal
                      rhs: {<0>}
                      spids: [296]
                    )
                  ]
                )
              ]
            )
            (C {<eval>} {(DQ ($ Id.VSub_DollarName '$_resteglob'))})
            (command.ControlFlow
              token: <Id.ControlFlow_Return return>
              arg_word: {($ Id.VSub_DollarName '$rc')}
            )
          ]
        )
    )
  ]
)