(command.CommandList
  children: [
    (command.AndOr
      children: [
        (command.Simple
          blame_tok: <Id.Lit_LBracket '['>
          more_env: []
          words: [
            {<Id.Lit_LBracket '['>}
            {
              (BracedVarSub
                left: <Id.Left_DollarBrace '${'>
                token: <Id.VSub_Name PARSER_SH>
                var_name: PARSER_SH
                suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<true>})
                right: <Id.Right_DollarBrace '}'>
              )
            }
            {<Id.Lit_RBracket ']'>}
          ]
          redirects: []
          do_fork: T
        )
        (command.ControlFlow keyword:<Id.ControlFlow_Return return>)
      ]
      ops: [<Id.Op_DAmp _>]
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [{<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_SH='> <true>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [
        {<.>}
        {
          (BracedVarSub
            left: <Id.Left_DollarBrace '${'>
            token: <Id.VSub_Name BASH_SOURCE>
            var_name: BASH_SOURCE
            suffix_op: 
              (suffix_op.Unary
                op: <Id.VOp1_Percent '%'>
                arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
              )
            right: <Id.Right_DollarBrace '}'>
          ) <'/common.sh'>
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [
        {<.>}
        {
          (BracedVarSub
            left: <Id.Left_DollarBrace '${'>
            token: <Id.VSub_Name BASH_SOURCE>
            var_name: BASH_SOURCE
            suffix_op: 
              (suffix_op.Unary
                op: <Id.VOp1_Percent '%'>
                arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
              )
            right: <Id.Right_DollarBrace '}'>
          ) <'/variables.sh'>
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [
        {<.>}
        {
          (BracedVarSub
            left: <Id.Left_DollarBrace '${'>
            token: <Id.VSub_Name BASH_SOURCE>
            var_name: BASH_SOURCE
            suffix_op: 
              (suffix_op.Unary
                op: <Id.VOp1_Percent '%'>
                arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
              )
            right: <Id.Right_DollarBrace '}'>
          ) <'/variables.linkedlist.sh'>
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [{<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_DEBUG='> <0>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [{<declare>} {<-g>} {<PARSER_PARSED>}]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [{<declare>} {<-g>} {<PARSER_PARSED_COUNT>}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <substring>
                }
                {(DQ (${ Id.VSub_At '@'))}
              ]
              redirects: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::multiExpression'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [136 151]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'originalOffset='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'offset='> ($ Id.VSub_DollarName originalOffset)}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [
                            {<stderr>}
                            {
                              (DQ <'Trying to parse multiExpr from:\n'> 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name text>
                                  var_name: text
                                  suffix_op: (suffix_op.Slice begin:{(${ Id.VSub_Name offset)})
                                  right: <Id.Arith_RBrace _>
                                )
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [200 215]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <variable>
                  more_env: []
                  words: [
                    {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                      <Id.Lit_Colon ':'> <new>
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'items='> (DQ (${ Id.VSub_Name RESULT))}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                  <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <whitespace>
                                }
                                {(DQ ($ Id.VSub_DollarName text))}
                                {(${ Id.VSub_Name offset)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: ($ Id.Lit_ArithVarLike offset)
                          right: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                  ]
                  spids: [294 313]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>}
                                {(DQ (${ Id.VSub_Name text))}
                                {(${ Id.VSub_Name offset)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <variable>
                      more_env: []
                      words: [
                        {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> 
                          <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <append>
                        }
                        {(DQ ($ Id.VSub_DollarName items))}
                        {(${ Id.VSub_Name PARSER_PARSED)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: ($ Id.Lit_ArithVarLike offset)
                          right: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                  ]
                  spids: [338 356]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'PARSER_PARSED='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          name: PARSER_PARSED
                        )
                      op: assign_op.Equal
                      rhs: {(DQ (${ Id.VSub_Name items))}
                    )
                  ]
                  redirects: []
                )
                (command.DParen
                  left: <Id.Op_DLeftParen _>
                  child: 
                    (arith_expr.BinaryAssign
                      op_id: Id.Arith_Equal
                      left: ($ Id.Lit_ArithVarLike PARSER_PARSED_COUNT)
                      right: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Minus
                          left: ($ Id.Lit_ArithVarLike offset)
                          right: ($ Id.Lit_ArithVarLike originalOffset)
                        )
                    )
                  right: <Id.Op_DRightParen _>
                  redirects: []
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {<0>}
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <true>
                          more_env: []
                          words: [{<true>}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Pipeline
                                      negated: <Id.KW_Bang '!'>
                                      children: [
                                        (command.Simple
                                          blame_tok: <parser>
                                          more_env: []
                                          words: [
                                            {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                              <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <whitespace>
                                            }
                                            {(DQ ($ Id.VSub_DollarName text))}
                                            {(${ Id.VSub_Name offset)}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                      name: PARSER_PARSED
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name items))}
                                )
                              ]
                              redirects: []
                            )
                            (command.DParen
                              left: <Id.Op_DLeftParen _>
                              child: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: ($ Id.Lit_ArithVarLike PARSER_PARSED_COUNT)
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Minus
                                      left: ($ Id.Lit_ArithVarLike offset)
                                      right: ($ Id.Lit_ArithVarLike originalOffset)
                                    )
                                )
                              right: <Id.Op_DRightParen _>
                              redirects: []
                            )
                            (command.ControlFlow
                              keyword: <Id.ControlFlow_Return return>
                              arg_word: {<0>}
                            )
                          ]
                          spids: [446 467]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.Sentence
                      child: 
                        (command.DParen
                          left: <Id.Op_DLeftParen _>
                          child: 
                            (arith_expr.BinaryAssign
                              op_id: Id.Arith_PlusEqual
                              left: ($ Id.Lit_ArithVarLike offset)
                              right: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                            )
                          right: <Id.Op_DRightParen _>
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Pipeline
                                      negated: <Id.KW_Bang '!'>
                                      children: [
                                        (command.Simple
                                          blame_tok: <parser>
                                          more_env: []
                                          words: [
                                            {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>}
                                            {(DQ (${ Id.VSub_Name text))}
                                            {(${ Id.VSub_Name offset)}
                                          ]
                                          redirects: []
                                          do_fork: T
                                        )
                                      ]
                                      ops: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                      name: PARSER_PARSED
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ (${ Id.VSub_Name items))}
                                )
                              ]
                              redirects: []
                            )
                            (command.DParen
                              left: <Id.Op_DLeftParen _>
                              child: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: ($ Id.Lit_ArithVarLike PARSER_PARSED_COUNT)
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Minus
                                      left: ($ Id.Lit_ArithVarLike offset)
                                      right: ($ Id.Lit_ArithVarLike originalOffset)
                                    )
                                )
                              right: <Id.Op_DRightParen _>
                              redirects: []
                            )
                            (command.ControlFlow
                              keyword: <Id.ControlFlow_Return return>
                              arg_word: {<0>}
                            )
                          ]
                          spids: [526 546]
                        )
                      ]
                      else_action: []
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                    (command.Simple
                      blame_tok: <variable>
                      more_env: []
                      words: [
                        {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> 
                          <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <append>
                        }
                        {(DQ ($ Id.VSub_DollarName items))}
                        {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (command.DParen
                          left: <Id.Op_DLeftParen _>
                          child: 
                            (arith_expr.BinaryAssign
                              op_id: Id.Arith_PlusEqual
                              left: ($ Id.Lit_ArithVarLike offset)
                              right: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                            )
                          right: <Id.Op_DRightParen _>
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.Simple
              blame_tok: <stderr>
              more_env: []
              words: [{<stderr>} {(DQ <'Should never get here'>)}]
              redirects: []
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::substring'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [659 674]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'offset='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                  <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <atom>
                                }
                                {(DQ (${ Id.VSub_Name text))}
                                {(DQ (${ Id.VSub_Name offset))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [717 740]
                )
                (IfArm
                  keyword: <Id.KW_Elif elif>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                  <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <sexp>
                                }
                                {(DQ (${ Id.VSub_Name text))}
                                {(DQ (${ Id.VSub_Name offset))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [768 791]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::atom'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [851 866]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                  <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <real>
                                }
                                {(DQ (${ Id.VSub_Name text))}
                                {(DQ (${ Id.VSub_Name offset))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [886 909]
                )
                (IfArm
                  keyword: <Id.KW_Elif elif>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                  <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <integer>
                                }
                                {(DQ (${ Id.VSub_Name text))}
                                {(DQ (${ Id.VSub_Name offset))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [937 960]
                )
                (IfArm
                  keyword: <Id.KW_Elif elif>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                  <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <identifier>
                                }
                                {(DQ (${ Id.VSub_Name text))}
                                {(DQ (${ Id.VSub_Name offset))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [988 1011]
                )
                (IfArm
                  keyword: <Id.KW_Elif elif>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                  <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <string>
                                }
                                {(DQ (${ Id.VSub_Name text))}
                                {(DQ (${ Id.VSub_Name offset))}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1039 1062]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::real'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1115 1130]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [
                            {<stderr>}
                            {
                              (DQ <'Trying to parse real from:\n'> 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name text>
                                  var_name: text
                                  suffix_op: (suffix_op.Slice begin:{(${ Id.VSub_Name offset)})
                                  right: <Id.Arith_RBrace _>
                                )
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1149 1164]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [
        {<declare>}
        {<-g>}
        {<Id.Lit_VarLike 'PARSER_INTEGER_REGEX='> (SQ <'\\(-\\?[1-9][0-9]*\\)'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [{<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_INTEGER_0_REGEX='> (SQ <'\\(0\\)'>)}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::integer'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1233 1248]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'offset='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'subtext='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 1>
                      var_name: 1
                      suffix_op: (suffix_op.Slice begin:{(${ Id.VSub_Name offset)})
                      right: <Id.Arith_RBrace _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [
                            {<stderr>}
                            {
                              (DQ <'Trying to parse integer from:\n'> 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name text>
                                  var_name: text
                                  suffix_op: (suffix_op.Slice begin:{(${ Id.VSub_Name offset)})
                                  right: <Id.Arith_RBrace _>
                                )
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1305 1320]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <declare>
                  more_env: []
                  words: [{<declare>} {<value>}]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'value='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'value='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'value='> name:value)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <expr>
                            more_env: []
                            words: [
                              {<expr>}
                              {<match>}
                              {(DQ (${ Id.VSub_Name subtext))}
                              {($ Id.VSub_DollarName PARSER_INTEGER_REGEX)}
                            ]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_QMark '?')}
                                  right: {<0>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <variable>
                      more_env: []
                      words: [
                        {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <new>}
                        {<Integer>}
                        {(DQ (${ Id.VSub_Name value))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name RESULT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name value>
                                  var_name: value
                                  prefix_op: <Id.VSub_Pound '#'>
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1363 1376]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name subtext>
                                          var_name: subtext
                                          suffix_op: 
                                            (suffix_op.Slice
                                              begin: {<Id.Lit_Digits 0>}
                                              length: {<Id.Lit_Digits 1>}
                                            )
                                          right: <Id.Arith_RBrace _>
                                        )
                                      )
                                    }
                                  right: {(DQ <0>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <variable>
                      more_env: []
                      words: [
                        {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <new>}
                        {<Integer>}
                        {(DQ <0>)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name RESULT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1419 1442]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [
        {<declare>}
        {<-g>}
        {<Id.Lit_VarLike 'PARSER_IDENTIFIER_REGEX='> 
          (SQ <'\\([a-zA-Z!?*+<=>_:-][a-zA-Z0-9!?*+<=>_:-]*\\)'>)
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::identifier'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1518 1533]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'offset='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'subtext='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 1>
                      var_name: 1
                      suffix_op: (suffix_op.Slice begin:{(${ Id.VSub_Name offset)})
                      right: <Id.Arith_RBrace _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [
                            {<stderr>}
                            {(DQ <'Trying to parse identifier from:\n'> (${ Id.VSub_Name subtext))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1590 1605]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <declare>
                  more_env: []
                  words: [{<declare>} {<value>}]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'value='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'value='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'value='> name:value)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <expr>
                            more_env: []
                            words: [
                              {<expr>}
                              {<match>}
                              {(DQ (${ Id.VSub_Name subtext))}
                              {($ Id.VSub_DollarName PARSER_IDENTIFIER_REGEX)}
                            ]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_QMark '?')}
                                  right: {<0>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <variable>
                      more_env: []
                      words: [
                        {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <new>}
                        {<Identifier>}
                        {(DQ (${ Id.VSub_Name value))}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name RESULT))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name value>
                                  var_name: value
                                  prefix_op: <Id.VSub_Pound '#'>
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [1644 1657]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [{<declare>} {<-g>} {<Id.Lit_VarLike 'PARSER_STRING_REGEX='> (SQ <'\\([^"]*\\)'>)}]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::string'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1740 1755]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'offset='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'subtext='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 1>
                      var_name: 1
                      suffix_op: (suffix_op.Slice begin:{(${ Id.VSub_Name offset)})
                      right: <Id.Arith_RBrace _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [
                            {<stderr>}
                            {(DQ <'Trying to parse string from:\n'> (${ Id.VSub_Name subtext))}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [1812 1827]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name subtext>
                                          var_name: subtext
                                          suffix_op: 
                                            (suffix_op.Slice
                                              begin: {<Id.Lit_Digits 0>}
                                              length: {<Id.Lit_Digits 1>}
                                            )
                                          right: <Id.Arith_RBrace _>
                                        )
                                      )
                                    }
                                  right: 
                                    {
                                      (DQ 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})]
                  spids: [1844 1867]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <declare>
                  more_env: []
                  words: [{<declare>} {<value>}]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'value='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'value='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'value='> name:value)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (CommandSub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            blame_tok: <expr>
                            more_env: []
                            words: [
                              {<expr>}
                              {<match>}
                              {
                                (DQ 
                                  (BracedVarSub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name subtext>
                                    var_name: subtext
                                    suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 1>})
                                    right: <Id.Arith_RBrace _>
                                  )
                                )
                              }
                              {($ Id.VSub_DollarName PARSER_STRING_REGEX)}
                            ]
                            redirects: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                )
              ]
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobNEqual
                                  left: {($ Id.VSub_QMark '?')}
                                  right: {<0>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})]
                  spids: [1903 1916]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<endIndex>}]
              redirects: []
              do_fork: T
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike endIndex)
                  right: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Plus
                      left: {<Id.Lit_Digits 1>}
                      right: 
                        {
                          (CommandSub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Simple
                                blame_tok: <expr>
                                more_env: []
                                words: [{<expr>} {<length>} {(DQ (${ Id.VSub_Name value))}]
                                redirects: []
                                do_fork: T
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                    )
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name subtext>
                                          var_name: subtext
                                          suffix_op: 
                                            (suffix_op.Slice
                                              begin: {(${ Id.VSub_Name endIndex)}
                                              length: {<Id.Lit_Digits 1>}
                                            )
                                          right: <Id.Arith_RBrace _>
                                        )
                                      )
                                    }
                                  right: 
                                    {
                                      (DQ 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        )
                                      )
                                    }
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<1>})]
                  spids: [1964 1989]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <new>}
                {<String>}
                {(DQ (${ Id.VSub_Name value))}
              ]
              redirects: []
              do_fork: T
            )
            (command.ShAssignment
              left: <Id.Lit_VarLike 'PARSER_PARSED='>
              pairs: [
                (AssignPair
                  left: <Id.Lit_VarLike 'PARSER_PARSED='>
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PARSER_PARSED='> name:PARSER_PARSED)
                  op: assign_op.Equal
                  rhs: {(DQ (${ Id.VSub_Name RESULT))}
                )
              ]
              redirects: []
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike PARSER_PARSED_COUNT)
                  right: 
                    (arith_expr.Binary
                      op_id: Id.Arith_Plus
                      left: 
                        {
                          (CommandSub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Simple
                                blame_tok: <expr>
                                more_env: []
                                words: [{<expr>} {<length>} {(DQ (${ Id.VSub_Name value))}]
                                redirects: []
                                do_fork: T
                              )
                            right: <Id.Eof_RParen _>
                          )
                        }
                      right: {<Id.Lit_Digits 2>}
                    )
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::sexp'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [2081 2096]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'originalOffset='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'offset='> ($ Id.VSub_DollarName originalOffset)}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [
                            {<stderr>}
                            {
                              (DQ <'Trying to parse sexp from:\n'> 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name text>
                                  var_name: text
                                  suffix_op: (suffix_op.Slice begin:{(${ Id.VSub_Name offset)})
                                  right: <Id.Arith_RBrace _>
                                )
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [2145 2160]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobNEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name text>
                                          var_name: text
                                          suffix_op: 
                                            (suffix_op.Slice
                                              begin: {(${ Id.VSub_Name offset)}
                                              length: {<Id.Lit_Digits 1>}
                                            )
                                          right: <Id.Arith_RBrace _>
                                        )
                                      )
                                    }
                                  right: {(DQ <'('>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ )}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              name: PARSER_PARSED_COUNT
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                        )
                      ]
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<1>}
                    )
                  ]
                  spids: [2181 2206]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.DParen
              left: <Id.Op_DLeftParen _>
              child: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_PlusEqual
                  left: ($ Id.Lit_ArithVarLike offset)
                  right: {<Id.Lit_Digits 1>}
                )
              right: <Id.Op_DRightParen _>
              redirects: []
            )
            (command.Sentence
              child: 
                (command.Simple
                  blame_tok: <variable>
                  more_env: []
                  words: [
                    {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                      <Id.Lit_Colon ':'> <new>
                    }
                  ]
                  redirects: []
                  do_fork: T
                )
              terminator: <Id.Op_Semi _>
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'items='> (DQ (${ Id.VSub_Name RESULT))}]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                  <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <whitespace>
                                }
                                {(DQ ($ Id.VSub_DollarName text))}
                                {(${ Id.VSub_Name offset)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: ($ Id.Lit_ArithVarLike offset)
                          right: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                  ]
                  spids: [2297 2316]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name text>
                                          var_name: text
                                          suffix_op: 
                                            (suffix_op.Slice
                                              begin: {(${ Id.VSub_Name offset)}
                                              length: {<Id.Lit_Digits 1>}
                                            )
                                          right: <Id.Arith_RBrace _>
                                        )
                                      )
                                    }
                                  right: {(DQ <')'>)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: ($ Id.Lit_ArithVarLike offset)
                          right: {<Id.Lit_Digits 1>}
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(${ Id.VSub_Name items)}
                        )
                      ]
                      redirects: []
                    )
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike PARSER_PARSED_COUNT)
                          right: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Minus
                              left: ($ Id.Lit_ArithVarLike offset)
                              right: ($ Id.Lit_ArithVarLike originalOffset)
                            )
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [2341 2366]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.Simple
                              blame_tok: <parser>
                              more_env: []
                              words: [
                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>}
                                {(DQ (${ Id.VSub_Name text))}
                                {(${ Id.VSub_Name offset)}
                              ]
                              redirects: []
                              do_fork: T
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Simple
                      blame_tok: <variable>
                      more_env: []
                      words: [
                        {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> 
                          <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <append>
                        }
                        {(DQ ($ Id.VSub_DollarName items))}
                        {(${ Id.VSub_Name PARSER_PARSED)}
                      ]
                      redirects: []
                      do_fork: T
                    )
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: ($ Id.Lit_ArithVarLike offset)
                          right: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                  ]
                  spids: [2416 2434]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <true>
                          more_env: []
                          words: [{<true>}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.If
                      if_kw: <Id.KW_If if>
                      arms: [
                        (IfArm
                          keyword: <Id.KW_If if>
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      blame_tok: <parser>
                                      more_env: []
                                      words: [
                                        {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> 
                                          <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <whitespace>
                                        }
                                        {(DQ ($ Id.VSub_DollarName text))}
                                        {(${ Id.VSub_Name offset)}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          then_kw: <Id.KW_Then then>
                          action: [
                            (command.DParen
                              left: <Id.Op_DLeftParen _>
                              child: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_PlusEqual
                                  left: ($ Id.Lit_ArithVarLike offset)
                                  right: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                                )
                              right: <Id.Op_DRightParen _>
                              redirects: []
                            )
                            (command.If
                              if_kw: <Id.KW_If if>
                              arms: [
                                (IfArm
                                  keyword: <Id.KW_If if>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              left: <Id.KW_DLeftBracket '[['>
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_GlobDEqual
                                                  left: 
                                                    {
                                                      (DQ 
                                                        (BracedVarSub
                                                          left: <Id.Left_DollarBrace '${'>
                                                          token: <Id.VSub_Name text>
                                                          var_name: text
                                                          suffix_op: 
                                                            (suffix_op.Slice
                                                              begin: {(${ Id.VSub_Name offset)}
                                                              length: {<Id.Lit_Digits 1>}
                                                            )
                                                          right: <Id.Arith_RBrace _>
                                                        )
                                                      )
                                                    }
                                                  right: {(DQ <')'>)}
                                                )
                                              right: <Id.Lit_DRightBracket ']]'>
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.DParen
                                      left: <Id.Op_DLeftParen _>
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_PlusEqual
                                          left: ($ Id.Lit_ArithVarLike offset)
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      right: <Id.Op_DRightParen _>
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                      pairs: [
                                        (AssignPair
                                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                              name: PARSER_PARSED
                                            )
                                          op: assign_op.Equal
                                          rhs: {(${ Id.VSub_Name items)}
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.DParen
                                      left: <Id.Op_DLeftParen _>
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_Equal
                                          left: ($ Id.Lit_ArithVarLike PARSER_PARSED_COUNT)
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Minus
                                              left: ($ Id.Lit_ArithVarLike offset)
                                              right: ($ Id.Lit_ArithVarLike originalOffset)
                                            )
                                        )
                                      right: <Id.Op_DRightParen _>
                                      redirects: []
                                    )
                                    (command.ControlFlow
                                      keyword: <Id.ControlFlow_Return return>
                                      arg_word: {<0>}
                                    )
                                  ]
                                  spids: [2535 2560]
                                )
                                (IfArm
                                  keyword: <Id.KW_Elif elif>
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.Simple
                                              blame_tok: <parser>
                                              more_env: []
                                              words: [
                                                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>}
                                                {(DQ (${ Id.VSub_Name text))}
                                                {(${ Id.VSub_Name offset)}
                                              ]
                                              redirects: []
                                              do_fork: T
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  then_kw: <Id.KW_Then then>
                                  action: [
                                    (command.Simple
                                      blame_tok: <variable>
                                      more_env: []
                                      words: [
                                        {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> 
                                          <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <append>
                                        }
                                        {(DQ ($ Id.VSub_DollarName items))}
                                        {(DQ (${ Id.VSub_Name PARSER_PARSED))}
                                      ]
                                      redirects: []
                                      do_fork: T
                                    )
                                    (command.DParen
                                      left: <Id.Op_DLeftParen _>
                                      child: 
                                        (arith_expr.BinaryAssign
                                          op_id: Id.Arith_PlusEqual
                                          left: ($ Id.Lit_ArithVarLike offset)
                                          right: {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
                                        )
                                      right: <Id.Op_DRightParen _>
                                      redirects: []
                                    )
                                  ]
                                  spids: [2602 2620]
                                )
                              ]
                              else_kw: <Id.KW_Else else>
                              else_action: [
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                          name: PARSER_PARSED
                                        )
                                      op: assign_op.Equal
                                      rhs: {(DQ )}
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                                          name: PARSER_PARSED_COUNT
                                        )
                                      op: assign_op.Equal
                                      rhs: {<0>}
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ControlFlow
                                  keyword: <Id.ControlFlow_Return return>
                                  arg_word: {<1>}
                                )
                              ]
                              fi_kw: <Id.KW_Fi fi>
                              redirects: []
                            )
                          ]
                          spids: [2496 2515]
                        )
                      ]
                      else_kw: <Id.KW_Else else>
                      else_action: [
                        (command.If
                          if_kw: <Id.KW_If if>
                          arms: [
                            (IfArm
                              keyword: <Id.KW_If if>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DBracket
                                          left: <Id.KW_DLeftBracket '[['>
                                          expr: 
                                            (bool_expr.Binary
                                              op_id: Id.BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      left: <Id.Left_DollarBrace '${'>
                                                      token: <Id.VSub_Name text>
                                                      var_name: text
                                                      suffix_op: 
                                                        (suffix_op.Slice
                                                          begin: {(${ Id.VSub_Name offset)}
                                                          length: {<Id.Lit_Digits 1>}
                                                        )
                                                      right: <Id.Arith_RBrace _>
                                                    )
                                                  )
                                                }
                                              right: {(DQ <')'>)}
                                            )
                                          right: <Id.Lit_DRightBracket ']]'>
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              then_kw: <Id.KW_Then then>
                              action: [
                                (command.DParen
                                  left: <Id.Op_DLeftParen _>
                                  child: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_PlusEqual
                                      left: ($ Id.Lit_ArithVarLike offset)
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: <Id.Op_DRightParen _>
                                  redirects: []
                                )
                                (command.ShAssignment
                                  left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                  pairs: [
                                    (AssignPair
                                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                          name: PARSER_PARSED
                                        )
                                      op: assign_op.Equal
                                      rhs: {(${ Id.VSub_Name items)}
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.DParen
                                  left: <Id.Op_DLeftParen _>
                                  child: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_Equal
                                      left: ($ Id.Lit_ArithVarLike PARSER_PARSED_COUNT)
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Minus
                                          left: ($ Id.Lit_ArithVarLike offset)
                                          right: ($ Id.Lit_ArithVarLike originalOffset)
                                        )
                                    )
                                  right: <Id.Op_DRightParen _>
                                  redirects: []
                                )
                                (command.ControlFlow
                                  keyword: <Id.ControlFlow_Return return>
                                  arg_word: {<0>}
                                )
                              ]
                              spids: [2683 2708]
                            )
                          ]
                          else_kw: <Id.KW_Else else>
                          else_action: [
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                                      name: PARSER_PARSED
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ )}
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                              pairs: [
                                (AssignPair
                                  left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                                      name: PARSER_PARSED_COUNT
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                )
                              ]
                              redirects: []
                            )
                            (command.ControlFlow
                              keyword: <Id.ControlFlow_Return return>
                              arg_word: {<1>}
                            )
                          ]
                          fi_kw: <Id.KW_Fi fi>
                          redirects: []
                        )
                      ]
                      fi_kw: <Id.KW_Fi fi>
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.Simple
              blame_tok: <stderr>
              more_env: []
              words: [{<stderr>} {(DQ <'Should never get here'>)}]
              redirects: []
              do_fork: T
            )
            (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.Simple
      blame_tok: <declare>
      more_env: []
      words: [
        {<declare>}
        {<-g>}
        {<Id.Lit_VarLike 'PARSER_WHITESPACE_REGEX='> (SQ <'\\([ \t\n'> <'][ \t\n'> <']*\\)'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.ShFunction
      keyword: <Id.KW_Function function>
      name_tok: <parser>
      name: 'parser::parse::whitespace'
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [{<stderr>} {(DQ (${ Id.VSub_Name FUNCNAME) <' '> (${ Id.VSub_At '@'))}]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [2827 2842]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'text='> (DQ (${ Id.VSub_Number 1))}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'originalOffset='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Number 2>
                      var_name: 2
                      suffix_op: (suffix_op.Unary op:<Id.VTest_Hyphen _> arg_word:{<0>})
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {(${ Id.VSub_Name PARSER_DEBUG)}
                                  right: {<1>}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.Sentence
                      child: 
                        (command.Simple
                          blame_tok: <stderr>
                          more_env: []
                          words: [
                            {<stderr>}
                            {
                              (DQ <'Trying to parse whitespace from:\n'> 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name text>
                                  var_name: text
                                  suffix_op: (suffix_op.Slice begin:{(${ Id.VSub_Name originalOffset)})
                                  right: <Id.Arith_RBrace _>
                                )
                              )
                            }
                          ]
                          redirects: []
                          do_fork: T
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                  spids: [2885 2900]
                )
              ]
              else_action: []
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'offset='> (${ Id.VSub_Name originalOffset)}]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [
                {<declare>}
                {<Id.Lit_VarLike 'char='> 
                  (DQ 
                    (BracedVarSub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name text>
                      var_name: text
                      suffix_op: 
                        (suffix_op.Slice
                          begin: {(${ Id.VSub_Name offset)}
                          length: {<Id.Lit_Digits 1>}
                        )
                      right: <Id.Arith_RBrace _>
                    )
                  )
                }
              ]
              redirects: []
              do_fork: T
            )
            (command.Simple
              blame_tok: <declare>
              more_env: []
              words: [{<declare>} {<Id.Lit_VarLike 'parsed='> (DQ )}]
              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.LogicalOr
                              left: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_GlobDEqual
                                  left: {($ Id.VSub_DollarName char)}
                                  right: {(DQ <' '>)}
                                )
                              right: 
                                (bool_expr.LogicalOr
                                  left: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: {($ Id.VSub_DollarName char)}
                                      right: {(DQ <'\t'>)}
                                    )
                                  right: 
                                    (bool_expr.Binary
                                      op_id: Id.BoolBinary_GlobDEqual
                                      left: {($ Id.VSub_DollarName char)}
                                      right: {(DQ <'\n'>)}
                                    )
                                )
                            )
                          right: <Id.Lit_DRightBracket ']]'>
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              body: 
                (command.DoGroup
                  left: <Id.KW_Do do>
                  children: [
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_PlusEqual
                          left: ($ Id.Lit_ArithVarLike offset)
                          right: {<Id.Lit_Digits 1>}
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'parsed+='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'parsed+='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'parsed+='> name:parsed)
                          op: assign_op.PlusEqual
                          rhs: {(DQ (${ Id.VSub_Name char))}
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'char='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'char='>
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'char='> name:char)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name text>
                                  var_name: text
                                  suffix_op: 
                                    (suffix_op.Slice
                                      begin: {(${ Id.VSub_Name offset)}
                                      length: {<Id.Lit_Digits 1>}
                                    )
                                  right: <Id.Arith_RBrace _>
                                )
                              )
                            }
                        )
                      ]
                      redirects: []
                    )
                  ]
                  right: <Id.KW_Done done>
                )
              redirects: []
            )
            (command.If
              if_kw: <Id.KW_If if>
              arms: [
                (IfArm
                  keyword: <Id.KW_If if>
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DBracket
                              left: <Id.KW_DLeftBracket '[['>
                              expr: 
                                (bool_expr.Binary
                                  op_id: Id.BoolBinary_gt
                                  left: {($ Id.VSub_DollarName offset)}
                                  right: {($ Id.VSub_DollarName originalOffset)}
                                )
                              right: <Id.Lit_DRightBracket ']]'>
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  then_kw: <Id.KW_Then then>
                  action: [
                    (command.ShAssignment
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      pairs: [
                        (AssignPair
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'PARSER_PARSED='>
                              name: PARSER_PARSED
                            )
                          op: assign_op.Equal
                          rhs: {(DQ (${ Id.VSub_Name parsed))}
                        )
                      ]
                      redirects: []
                    )
                    (command.DParen
                      left: <Id.Op_DLeftParen _>
                      child: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike PARSER_PARSED_COUNT)
                          right: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Minus
                              left: ($ Id.Lit_ArithVarLike offset)
                              right: ($ Id.Lit_ArithVarLike originalOffset)
                            )
                        )
                      right: <Id.Op_DRightParen _>
                      redirects: []
                    )
                    (command.ControlFlow
                      keyword: <Id.ControlFlow_Return return>
                      arg_word: {<0>}
                    )
                  ]
                  spids: [3029 3042]
                )
              ]
              else_kw: <Id.KW_Else else>
              else_action: [
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'PARSER_PARSED='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'PARSER_PARSED='>
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'PARSER_PARSED='>
                          name: PARSER_PARSED
                        )
                      op: assign_op.Equal
                      rhs: {(DQ )}
                    )
                  ]
                  redirects: []
                )
                (command.ShAssignment
                  left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                  pairs: [
                    (AssignPair
                      left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'PARSER_PARSED_COUNT='>
                          name: PARSER_PARSED_COUNT
                        )
                      op: assign_op.Equal
                      rhs: {<0>}
                    )
                  ]
                  redirects: []
                )
                (command.ControlFlow
                  keyword: <Id.ControlFlow_Return return>
                  arg_word: {<1>}
                )
              ]
              fi_kw: <Id.KW_Fi fi>
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.Simple
                      blame_tok: <Id.Lit_LBracket '['>
                      more_env: []
                      words: [
                        {<Id.Lit_LBracket '['>}
                        {($ Id.VSub_Number 0)}
                        {<Id.KW_Bang '!'> <Id.Lit_Equals '='>}
                        {($ Id.VSub_DollarName BASH_SOURCE)}
                        {<Id.Lit_RBracket ']'>}
                      ]
                      redirects: []
                      do_fork: T
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [(command.ControlFlow keyword:<Id.ControlFlow_Return return>)]
          spids: [3103 3117]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
    (command.Simple
      blame_tok: <.>
      more_env: []
      words: [
        {<.>}
        {
          (BracedVarSub
            left: <Id.Left_DollarBrace '${'>
            token: <Id.VSub_Name BASH_SOURCE>
            var_name: BASH_SOURCE
            suffix_op: 
              (suffix_op.Unary
                op: <Id.VOp1_Percent '%'>
                arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
              )
            right: <Id.Right_DollarBrace '}'>
          ) <'/test.sh'>
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <1>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'parse 1 succeeds'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <debug>}
                {(DQ (${ Id.VSub_Name RESULT))}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <'Integer :: 1'>)}
            {(DQ (${ Id.VSub_Name RESULT))}
            {(DQ <'parse 1'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<1>}
        {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
        {(DQ <'parse 1 / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <123456>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'parse 123456 succeeds'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <debug>}
                {(DQ (${ Id.VSub_Name RESULT))}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <'Integer :: 123456'>)}
            {(DQ (${ Id.VSub_Name RESULT))}
            {(DQ <'parse 123456'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<6>}
        {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
        {(DQ <'parse 123456 / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <0>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'parse 0 succeeds'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <debug>}
                {(DQ (${ Id.VSub_Name RESULT))}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <'Integer :: 0'>)}
            {(DQ (${ Id.VSub_Name RESULT))}
            {(DQ <'parse 0'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<1>}
        {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
        {(DQ <'parse 0 / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <-10>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'parse -10 succeeds'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <debug>}
                {(DQ (${ Id.VSub_Name RESULT))}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <'Integer :: -10'>)}
            {(DQ (${ Id.VSub_Name RESULT))}
            {(DQ <'parse -10'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<3>}
        {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
        {(DQ <'parse 1 / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'output='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'output='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
          op: assign_op.Equal
          rhs: 
            {
              (CommandSub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Simple
                    blame_tok: <parser>
                    more_env: []
                    words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <-0>)}]
                    redirects: []
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<1>}
        {($ Id.VSub_QMark '?')}
        {(DQ <'parse -0 should fail'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <v>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {
              (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <abc> 
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' succeeds'>
              )
            }
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <debug>}
                {(DQ (${ Id.VSub_Name RESULT))}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <'Identifier :: v'>)}
            {(DQ (${ Id.VSub_Name RESULT))}
            {(DQ <'parse v'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <'a?'>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {
              (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <abc> 
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' succeeds'>
              )
            }
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <debug>}
                {(DQ (${ Id.VSub_Name RESULT))}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <'Identifier :: a?'>)}
            {(DQ (${ Id.VSub_Name RESULT))}
            {(DQ <'parse a?'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(SQ <'"abc"'>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {
              (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <abc> 
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' succeeds'>
              )
            }
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <debug>}
                {(DQ (${ Id.VSub_Name RESULT))}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <'String :: abc'>)}
            {(DQ (${ Id.VSub_Name RESULT))}
            {
              (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <abc> 
                (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
              )
            }
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<5>}
        {(DQ (${ Id.VSub_Name PARSER_PARSED_COUNT))}
        {
          (DQ <'parse '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <abc> 
            (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' / count'>
          )
        }
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <whitespace>
                }
                {(SQ <' \t '>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'match whitespace / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<3>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ <'match whitepace / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <whitespace>
                }
                {(SQ <'abc def'>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'match non-whitespace / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <whitespace>
                }
                {(SQ )}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'match empty non-whitespace / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <whitespace>
                }
                {(SQ <')'>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'match close paren against whitespace / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - single expr'>)}
        )
      ]
      redirects: []
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <multiExpression>
                }
                {(DQ <a>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<1>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <first>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <value>}
                {(${ Id.VSub_Name RESULT)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <a>)}
            {(DQ (${ Id.VSub_Name RESULT))}
            {(DQ (${ Id.VSub_Name TEST) <' / value'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - multiple expressions'>)}
        )
      ]
      redirects: []
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <multiExpression>
                }
                {(DQ <'a b'>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<3>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<2>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - whitespaces'>)}
        )
      ]
      redirects: []
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <multiExpression>
                }
                {(DQ <' b '>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<3>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - integer'>)}
        )
      ]
      redirects: []
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <multiExpression>
                }
                {(DQ <1>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<1>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - sexp'>)}
        )
      ]
      redirects: []
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <multiExpression>
                }
                {(DQ <'(a)'>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<3>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.ShAssignment
      left: <Id.Lit_VarLike 'TEST='>
      pairs: [
        (AssignPair
          left: <Id.Lit_VarLike 'TEST='>
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST='> name:TEST)
          op: assign_op.Equal
          rhs: {(DQ <'multiExpression - sexps'>)}
        )
      ]
      redirects: []
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [
                {<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <multiExpression>
                }
                {(DQ <'(a) (b)'>)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ (${ Id.VSub_Name TEST) <' / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<7>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ (${ Id.VSub_Name TEST) <' / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<2>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ (${ Id.VSub_Name TEST) <' / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <'()'>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'match empty sexp / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<2>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ <'match empty sexp / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'match empty sexp / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'match empty sexp / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <'( )'>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'match almost empty sexp / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<3>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ <'match almost empty sexp / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'match almost empty sexp / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'match almost empty sexp / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <'(a)'>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'single element sexp / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<3>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ <'single element sexp / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'single element sexp / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'single element sexp / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <'( a )'>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'single element sexp / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<5>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ <'single element sexp / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'single element sexp / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<1>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'single element sexp / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <'(a b)'>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'two element sexp / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<5>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ <'two element sexp / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'two element sexp / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<2>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'two element sexp / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <parser>
              more_env: []
              words: [{<parser> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <parse>} {(DQ <'((a) (b) c)'>)}]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<0>}
            {($ Id.VSub_QMark '?')}
            {(DQ <'nested element sexp / code'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {<11>}
        {(${ Id.VSub_Name PARSER_PARSED_COUNT)}
        {(DQ <'nested element sexp / count'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type>}
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {(DQ <LinkedList>)}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'nested element sexp / type'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: 
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [
                {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <LinkedList> <Id.Lit_Colon ':'> 
                  <Id.Lit_Colon ':'> <length>
                }
                {(${ Id.VSub_Name PARSER_PARSED)}
              ]
              redirects: []
              do_fork: T
            )
          terminator: <Id.Op_Semi _>
        )
        (command.Simple
          blame_tok: <assert>
          more_env: []
          words: [
            {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
            {<3>}
            {(${ Id.VSub_Name RESULT)}
            {(DQ <'nested element sexp / length'>)}
          ]
          redirects: []
          do_fork: T
        )
      ]
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [{<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <report>}]
      redirects: []
      do_fork: T
    )
    (command.If
      if_kw: <Id.KW_If if>
      arms: [
        (IfArm
          keyword: <Id.KW_If if>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.AndOr
                      children: [
                        (command.Simple
                          blame_tok: <Id.Lit_LBracket '['>
                          more_env: []
                          words: [
                            {<Id.Lit_LBracket '['>}
                            {
                              (BracedVarSub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Number 1>
                                var_name: 1
                                suffix_op: (suffix_op.Unary op:<Id.VTest_Plus _> arg_word:{<isset>})
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                            {<Id.Lit_RBracket ']'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                        (command.Simple
                          blame_tok: <Id.Lit_LBracket '['>
                          more_env: []
                          words: [
                            {<Id.Lit_LBracket '['>}
                            {(DQ ($ Id.VSub_Number 1))}
                            {<Id.Lit_Equals '='> <Id.Lit_Equals '='>}
                            {(DQ <debug>)}
                            {<Id.Lit_RBracket ']'>}
                          ]
                          redirects: []
                          do_fork: T
                        )
                      ]
                      ops: [<Id.Op_DAmp _>]
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          then_kw: <Id.KW_Then then>
          action: [
            (command.Simple
              blame_tok: <variable>
              more_env: []
              words: [{<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <printMetadata>}]
              redirects: []
              do_fork: T
            )
          ]
          spids: [5222 5252]
        )
      ]
      else_action: []
      fi_kw: <Id.KW_Fi fi>
      redirects: []
    )
  ]
)