(command.CommandList children: [ (command.ShFunction name_tok: <_Dbg_is_function> name: _Dbg_is_function body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {<Id.Lit_Digits 0>} right: {($ Id.VSub_Pound '#')} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'needed_fn='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<-i>} {<Id.Lit_VarLike 'include_system='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Number 2> var_name: 2 suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<0>}) right: <Id.Right_DollarBrace '}'> ) } ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name needed_fn> var_name: needed_fn suffix_op: (suffix_op.Slice begin: {<Id.Lit_Digits 0>} length: {<Id.Lit_Digits 1>} ) right: <Id.Arith_RBrace _> ) } right: {(SQ <_>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Unary op_id: Id.Arith_Bang child: ($ Id.Lit_ArithVarLike include_system) ) right: <Id.Op_DRightParen _> redirects: [] ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DAmp _> <Id.Op_DAmp _>] ) (command.Simple blame_tok: <declare> more_env: [] 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 keyword: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_QMark '?')} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_is_int> name: _Dbg_is_int body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {<Id.Lit_Digits 1>} right: {($ Id.VSub_Pound '#')} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'rc='> <1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _seteglob))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_Number 1)} right: {($ Id.VSub_DollarName int_pat)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _resteglob))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_DollarName rc)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <_Dbg_is_signed_int> name: _Dbg_is_signed_int body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.DParen left: <Id.Op_DLeftParen _> child: (arith_expr.Binary op_id: Id.Arith_DEqual left: {<Id.Lit_Digits 1>} right: {($ Id.VSub_Pound '#')} ) right: <Id.Op_DRightParen _> redirects: [] ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {<1>} ) ] ops: [<Id.Op_DPipe _>] ) (command.Simple blame_tok: <typeset> more_env: [] words: [{<typeset>} {<Id.Lit_VarLike 'rc='> <1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _seteglob))}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_Number 1)} right: {($ Id.VSub_DollarName _Dbg_signed_int_pat)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'rc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'rc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'rc='> name:rc) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {(DQ ($ Id.VSub_DollarName _resteglob))}] redirects: [] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Return return> arg_word: {($ Id.VSub_DollarName rc)} ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )