(CommandList
  children: [
    (While
      cond: [(Sentence child:(C {(getopts)} {(DQ ('hw:'))} {(opt)}) terminator:<Op_Semi ';'>)]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {($ VSub_Name '$opt')}
              arms: [
                (case_arm
                  pat_list: [{(h)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [(assign_pair lhs:(LhsName name:hyph) op:Equal rhs:{(1)} spids:[37])]
                      spids: [37]
                    )
                  ]
                  spids: [33 35 40 16777215]
                )
                (case_arm
                  pat_list: [{(w)}]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:width)
                          op: Equal
                          rhs: {(DQ ($ VSub_Name '$OPTARG'))}
                          spids: [47]
                        )
                      ]
                      spids: [47]
                    )
                  ]
                  spids: [43 45 52 16777215]
                )
              ]
              spids: [26 30 54]
            )
          ]
          spids: [24 56]
        )
    )
    (C {(shift)} 
      {
        (ArithSubPart
          anode: 
            (ArithBinary
              op_id: Arith_Minus
              left: (ArithWord w:{($ VSub_Name '$OPTIND')})
              right: (ArithWord w:{(Lit_Digits 1)})
            )
          spids: [60 67]
        )
      }
    )
    (SimpleCommand
      words: [{(nroff)}]
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: 16777215
          body: 
            {
              (DQ ('.ll ') 
                (BracedVarSub
                  token: <VSub_Name width>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(72)})
                  spids: [77 81]
                ) ('\n') ('.na\n') ('.hy ') 
                (BracedVarSub
                  token: <VSub_Name hyph>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)})
                  spids: [85 89]
                ) ('\n') ('.pl 1\n') 
                (CommandSubPart
                  command_list: (CommandList children:[(C {(cat)} {(DQ ($ VSub_At '$@'))})])
                  left_token: <Left_CommandSub '$('>
                  spids: [92 98]
                ) ('\n')
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [72]
        )
      ]
    )
    (C {(exit)} {(0)})
  ]
)