(CommandList
  children: [
    (AndOr
      children: [
        (C {(Lit_Other '[')} 
          {
            (BracedVarSub
              token: <VSub_Name VARIABLES_ATOM_SH>
              suffix_op: (StringUnary op_id:VTest_Plus arg_word:{(true)})
              spids: [9 13]
            )
          } {(Lit_Other ']')}
        )
        (ControlFlow token:<ControlFlow_Return return>)
      ]
      op_id: Op_DAmp
    )
    (Assignment
      keyword: Assign_Declare
      flags: ["'-g'"]
      pairs: [(assign_pair lhs:(LhsName name:VARIABLES_ATOM_SH) op:Equal rhs:{(true)} spids:[25])]
      spids: [21]
    )
    (C {(.)} 
      {
        (BracedVarSub
          token: <VSub_Name BASH_SOURCE>
          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')})
          spids: [31 36]
        ) (/common.sh)
      }
    )
    (C {(.)} 
      {
        (BracedVarSub
          token: <VSub_Name BASH_SOURCE>
          suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ('*')})
          spids: [41 46]
        ) (/variables.sh)
      }
    )
    (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} 
      {(Nil)}
    )
    (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} 
      {(Identifier)}
    )
    (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} 
      {(Atom)}
    )
    (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} 
      {(Boolean)} {(Atom)}
    )
    (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} 
      {(String)} {(Atom)}
    )
    (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} 
      {(Number)} {(Atom)}
    )
    (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} 
      {(Integer)} {(Number)}
    )
    (C {(variable) (Lit_Other ':') (Lit_Other ':') (type) (Lit_Other ':') (Lit_Other ':') (define)} 
      {(Real)} {(Number)}
    )
    (FuncDef
      name: 'variable::Atom::toSexp'
      body: 
        (BraceGroup
          children: [
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Number 1))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(${ VSub_Name RESULT)}
                  spids: [169]
                )
              ]
              spids: [169]
            )
          ]
          spids: [154]
        )
      spids: [142 153]
    )
    (FuncDef
      name: 'variable::Identifier::toSexp'
      body: 
        (BraceGroup
          children: [
            (C {(variable) (Lit_Other ':') (Lit_Other ':') (value)} {(DQ (${ VSub_Number 1))})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:RESULT)
                  op: Equal
                  rhs: {(${ VSub_Name RESULT)}
                  spids: [204]
                )
              ]
              spids: [204]
            )
          ]
          spids: [189]
        )
      spids: [177 188]
    )
    (FuncDef
      name: 'variable::Nil::toSexp'
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:RESULT) op:Equal rhs:{(DQ (Nil))} spids:[227])]
              spids: [227]
            )
          ]
          spids: [224]
        )
      spids: [212 223]
    )
  ]
)