(command.CommandList
  children: [
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {(Id.Lit_LBracket '[')} 
          {
            (braced_var_sub
              token: (Token id:Id.VSub_Name val:LISHP_SH span_id:10)
              suffix_op: (suffix_op.Unary op_id:Id.VTest_Plus arg_word:{(true)})
            )
          } {(Id.Lit_RBracket ']')}
        )
        (command.ControlFlow token:(Token id:Id.ControlFlow_Return val:return span_id:19))
      ]
    )
    (C {(declare)} {(-g)} {(Id.Lit_VarLike 'LISHP_SH=') (true)})
    (C {(declare)} {(-g)} {(VERBOSE)})
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.AndOr
                  ops: [Id.Op_DAmp]
                  children: [
                    (C {(Id.Lit_LBracket '[')} 
                      {
                        (braced_var_sub
                          token: (Token id:Id.VSub_Number val:1 span_id:39)
                          suffix_op: (suffix_op.Unary op_id:Id.VTest_Plus arg_word:{(isset)})
                        )
                      } {(Id.Lit_RBracket ']')}
                    )
                    (C {(Id.Lit_LBracket '[')} {(DQ ($ Id.VSub_Number '$1'))} 
                      {(Id.Lit_Equals '=') (Id.Lit_Equals '=')} {(DQ (-verbose))} {(Id.Lit_RBracket ']')}
                    )
                  ]
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:62)
            )
          ]
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:VERBOSE)
                  op: assign_op.Equal
                  rhs: {(true)}
                  spids: [68]
                )
              ]
            )
            (C {(shift)})
          ]
          spids: [34 64]
        )
      ]
      else_action: [
        (command.ShAssignment
          pairs: [
            (assign_pair
              lhs: (sh_lhs_expr.Name name:VERBOSE)
              op: assign_op.Equal
              rhs: {(false)}
              spids: [77]
            )
          ]
        )
      ]
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:87)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/common.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:97)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/variables.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:107)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/variables.arraylist.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:117)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/variables.atom.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:127)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/variables.linkedlist.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:137)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/variables.map.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:147)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/variables.queue.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:157)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/variables.stack.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:167)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/callable.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:177)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/callable.lambda.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:187)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/environment.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:197)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/evaluator.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:207)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/evaluator.functions.builtin.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:217)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/parser.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:227)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/logger.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:237)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/specialforms.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:247)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/specialforms.if.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:257)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/specialforms.lambda.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:267)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/specialforms.let.sh)
      }
    )
    (C {(.)} 
      {
        (braced_var_sub
          token: (Token id:Id.VSub_Name val:BASH_SOURCE span_id:277)
          suffix_op: (suffix_op.Unary op_id:Id.VOp1_Percent arg_word:{(Id.Lit_Slash /) ('*')})
        ) (/specialforms.letstar.sh)
      }
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [(C {($ Id.VSub_DollarName '$VERBOSE')}) (C {(echo)} {(DQ ('Sourced libraries!'))})]
    )
    (command.Simple
      words: [{(read)} {(-r)} {(-d)} {(SQ )} {(code)}]
      redirects: [
        (redir.Redir
          op: (Token id:Id.Redir_Less val:'<' span_id:324)
          fd: -1
          arg_word: 
            {
              (DQ 
                (braced_var_sub
                  token: (Token id:Id.VSub_Number val:1 span_id:328)
                  suffix_op: 
                    (suffix_op.Unary
                      op_id: Id.VTest_ColonHyphen
                      arg_word: 
                        {(Id.Lit_Slash /) (proc) (Id.Lit_Slash /) (${ Id.VSub_Dollar '$') 
                          (Id.Lit_Slash /) (fd) (Id.Lit_Slash /) (0)
                        }
                    )
                )
              )
            }
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [(C {($ Id.VSub_DollarName '$VERBOSE')}) (C {(echo)} {(DQ ('Code read!'))})]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {($ Id.VSub_DollarName '$VERBOSE')})
        (C {(echo)} 
          {(Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=')
          }
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {($ Id.VSub_DollarName '$VERBOSE')})
        (C {(echo)} {(DQ ($ Id.VSub_DollarName '$code'))})
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {($ Id.VSub_DollarName '$VERBOSE')})
        (C {(echo)} 
          {(Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=')
          }
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: [
            (command.Sentence
              child: 
                (command.Pipeline
                  children: [
                    (C 
                      {(parser) (Id.Lit_Other ':') (Id.Lit_Other ':') (parse) (Id.Lit_Other ':') 
                        (Id.Lit_Other ':') (multiExpression)
                      } {(DQ (${ Id.VSub_Name code))}
                    )
                  ]
                  negated: T
                )
              terminator: (Token id:Id.Op_Semi val:';' span_id:430)
            )
          ]
          action: [
            (C {(echo)} 
              {(DQ ('Could not parse input\n') ('====\n') (${ Id.VSub_Name code) ('\n') ('===='))}
            )
            (command.ControlFlow
              token: (Token id:Id.ControlFlow_Exit val:exit span_id:448)
              arg_word: {(1)}
            )
          ]
          spids: [413 432]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [(C {($ Id.VSub_DollarName '$VERBOSE')}) (C {(echo)} {(DQ ('Parsed!'))})]
    )
    (command.CommandList
      children: [
        (command.Sentence
          child: (C {(environment) (Id.Lit_Other ':') (Id.Lit_Other ':') (new)})
          terminator: (Token id:Id.Op_Semi val:';' span_id:479)
        )
        (C {(declare)} {(Id.Lit_VarLike 'env=') (${ Id.VSub_Name RESULT)})
      ]
    )
    (C {(evaluator) (Id.Lit_Other ':') (Id.Lit_Other ':') (setup_builtins)} {(DQ (${ Id.VSub_Name env))})
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [(C {($ Id.VSub_DollarName '$VERBOSE')}) (C {(echo)} {(DQ ('Environment setup!'))})]
    )
    (C {(evaluator) (Id.Lit_Other ':') (Id.Lit_Other ':') (evalFromLinkedList)} {(${ Id.VSub_Name env)} 
      {(${ Id.VSub_Name PARSER_PARSED)}
    )
    (C {(variable) (Id.Lit_Other ':') (Id.Lit_Other ':') (debug)} {(${ Id.VSub_Name RESULT)})
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [(C {($ Id.VSub_DollarName '$VERBOSE')}) (C {(echo)} {(DQ ('Done!'))})]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {($ Id.VSub_DollarName '$VERBOSE')})
        (C {(echo)} 
          {(Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=')
          }
        )
      ]
    )
    (C {(echo)} {(DQ ($ Id.VSub_DollarName '$RESULT'))})
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {($ Id.VSub_DollarName '$VERBOSE')})
        (C {(echo)} 
          {(Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') (Id.Lit_Equals '=') 
            (Id.Lit_Equals '=')
          }
        )
      ]
    )
  ]
)