(command.CommandList
  children: [
    (command.Simple
      blame_tok: <_Dbg_help_add_sub>
      more_env: []
      words: [
        {<_Dbg_help_add_sub>}
        {<show>}
        {<alias>}
        {
          (SQ <'show alias [NAME1 NAME2 ...]\n'> <'\n'> 
            <'If aliases names are given, show their definition. If left blank, show\n'> <'all alias names'>
          )
        }
        {<1>}
      ]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_ArrayLhsOpen '_Dbg_show_nolist['>
      pairs: [
        (AssignPair
          left: <Id.Lit_ArrayLhsOpen '_Dbg_show_nolist['>
          lhs: 
            (sh_lhs_expr.IndexedName
              left: <Id.Lit_ArrayLhsOpen '_Dbg_show_nolist['>
              name: _Dbg_show_nolist
              index: ($ Id.Lit_ArithVarLike alias)
            )
          op: assign_op.Equal
          rhs: {<1>}
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name_tok: <_Dbg_do_show_alias>
      name: _Dbg_do_show_alias
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <typeset>
              more_env: []
              words: [{<typeset>} {<-a>} {<list>}]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'list='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'list='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'list='> name:list)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (ShArrayLiteral
                        left: <Id.Op_LParen _>
                        words: []
                        right: <Id.Right_ShArrayLiteral _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.ForEach
              keyword: <Id.KW_For for>
              iter_names: [alias]
              iterable: 
                (for_iter.Words
                  words: [
                    {
                      (DQ 
                        (BracedVarSub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name _Dbg_aliases>
                          var_name: _Dbg_aliases
                          prefix_op: <Id.VSub_Bang '!'>
                          bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                          right: <Id.Right_DollarBrace '}'>
                        )
                      )
                    }
                  ]
                )
              semi_tok: <Id.Op_Semi _>
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.AndOr
                      children: [
                        (command.DBracket
                          left: <Id.KW_DLeftBracket '[['>
                          expr: 
                            (bool_expr.Unary
                              op_id: Id.BoolUnary_z
                              child: 
                                {
                                  (BracedVarSub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name _Dbg_aliases>
                                    var_name: _Dbg_aliases
                                    bracket_op: 
                                      (bracket_op.ArrayIndex
                                        expr: {($ Id.VSub_DollarName alias)}
                                      )
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                }
                            )
                          right: <Id.Lit_DRightBracket ']]'>
                          redirects: []
                        )
                        (command.ControlFlow
                          keyword: <Id.ControlFlow_Continue continue>
                        )
                      ]
                      ops: [<Id.Op_DAmp _>]
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'list+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'list+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'list+='> name:list)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (ShArrayLiteral
                                left: <Id.Op_LParen _>
                                words: [
                                  {
                                    (DQ (${ Id.VSub_Name alias) <': '> 
                                      (BracedVarSub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name _Dbg_aliases>
                                        var_name: _Dbg_aliases
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName alias)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    )
                                  }
                                ]
                                right: <Id.Right_ShArrayLiteral _>
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.Simple
              blame_tok: <_Dbg_list_columns>
              more_env: []
              words: [{<_Dbg_list_columns>} {(SQ <'  |  '>)}]
              redirects: []
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
  ]
)