(command.AndOr
  children: [
    (command.ShFunction
      name_tok: <_renice>
      name: _renice
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [{<local>} {<cur>} {<prev>} {<words>} {<cword>}]
              redirects: []
              do_fork: T
            )
            (command.AndOr
              children: [
                (command.Simple
                  blame_tok: <_init_completion>
                  more_env: []
                  words: [{<_init_completion>}]
                  redirects: []
                  do_fork: T
                )
                (command.ControlFlow keyword:<Id.ControlFlow_Return return>)
              ]
              ops: [<Id.Op_DPipe _>]
            )
            (command.Simple
              blame_tok: <local>
              more_env: []
              words: [
                {<local>}
                {<Id.Lit_VarLike 'command='> ($ Id.VSub_Number 1)}
                {<curopt>}
                {<Id.Lit_VarLike 'i='> <0>}
              ]
              redirects: []
              do_fork: T
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DBracket
                          left: <Id.KW_DLeftBracket '[['>
                          expr: 
                            (bool_expr.LogicalAnd
                              left: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_le
                                  left: {($ Id.VSub_DollarName i)}
                                  right: {($ Id.VSub_DollarName cword)}
                                )
                              right: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_eq
                                  left: 
                                    {
                                      (BracedVarSub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name COMPREPLY>
                                        var_name: COMPREPLY
                                        prefix_op: <Id.VSub_Pound '#'>
                                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<0>}
                                )
                            )
                          right: <Id.Lit_DRightBracket ']]'>
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'curopt='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'curopt='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'curopt='> name:curopt)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name words>
                                var_name: words
                                bracket_op: 
                                  (bracket_op.ArrayIndex
                                    expr: 
                                      (arith_expr.Binary
                                        op_id: Id.Arith_Minus
                                        left: ($ Id.Lit_ArithVarLike cword)
                                        right: {($ Id.VSub_DollarName i)}
                                      )
                                  )
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      case_kw: <Id.KW_Case case>
                      to_match: (case_arg.Word w:{(DQ ($ Id.VSub_DollarName curopt))})
                      arms_start: <Id.KW_In in>
                      arms: [
                        (CaseArm
                          left: <-u>
                          pattern: (pat.Words words:[{<-u>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <_allowed_users>
                              more_env: []
                              words: [{<_allowed_users>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <-g>
                          pattern: (pat.Words words:[{<-g>}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <_pgids>
                              more_env: []
                              words: [{<_pgids>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                        (CaseArm
                          left: <-p>
                          pattern: (pat.Words words:[{<-p>} {($ Id.VSub_DollarName command)}])
                          middle: <Id.Right_CasePat _>
                          action: [
                            (command.Simple
                              blame_tok: <_pids>
                              more_env: []
                              words: [{<_pids>}]
                              redirects: []
                              do_fork: T
                            )
                          ]
                          right: <Id.Op_DSemi _>
                        )
                      ]
                      arms_end: <Id.KW_Esac esac>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'i='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'i='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'i='> name:i)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                left: <Id.Left_DollarDParen '$(('>
                                anode: 
                                  (arith_expr.UnaryAssign
                                    op_id: Id.Arith_DPlus
                                    child: ($ Id.Lit_ArithVarLike i)
                                  )
                                right: <Id.Right_DollarDParen _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <complete>
      more_env: []
      words: [{<complete>} {<-F>} {<_renice>} {<renice>}]
      redirects: []
      do_fork: T
    )
  ]
  ops: [<Id.Op_DAmp _>]
)