(command.CommandList
  children: [
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} 
          {
            (braced_var_sub
              token: <Id.VSub_Name VARIABLES_ATOM_SH>
              suffix_op: (suffix_op.Unary tok:<Id.VTest_Plus '+'> arg_word:{<true>})
            )
          } {<Id.Lit_RBracket ']'>}
        )
        (command.ControlFlow token:<Id.ControlFlow_Return return>)
      ]
    )
    (C {<declare>} {<-g>} {<Id.Lit_VarLike 'VARIABLES_ATOM_SH='> <true>})
    (C {<.>} 
      {
        (braced_var_sub
          token: <Id.VSub_Name BASH_SOURCE>
          suffix_op: 
            (suffix_op.Unary
              tok: <Id.VOp1_Percent '%'>
              arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
            )
        ) <'/common.sh'>
      }
    )
    (C {<.>} 
      {
        (braced_var_sub
          token: <Id.VSub_Name BASH_SOURCE>
          suffix_op: 
            (suffix_op.Unary
              tok: <Id.VOp1_Percent '%'>
              arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>}
            )
        ) <'/variables.sh'>
      }
    )
    (C 
      {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> 
        <define>
      } {<Nil>}
    )
    (C 
      {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> 
        <define>
      } {<Identifier>}
    )
    (C 
      {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> 
        <define>
      } {<Atom>}
    )
    (C 
      {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> 
        <define>
      } {<Boolean>} {<Atom>}
    )
    (C 
      {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> 
        <define>
      } {<String>} {<Atom>}
    )
    (C 
      {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> 
        <define>
      } {<Number>} {<Atom>}
    )
    (C 
      {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> 
        <define>
      } {<Integer>} {<Number>}
    )
    (C 
      {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <type> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> 
        <define>
      } {<Real>} {<Number>}
    )
    (command.ShFunction
      name: 'variable::Atom::toSexp'
      body: 
        (BraceGroup
          children: [
            (C {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <value>} {(DQ (${ Id.VSub_Number 1))})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:RESULT)
                  op: assign_op.Equal
                  rhs: {(${ Id.VSub_Name RESULT)}
                  spids: [169]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: 'variable::Identifier::toSexp'
      body: 
        (BraceGroup
          children: [
            (C {<variable> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <value>} {(DQ (${ Id.VSub_Number 1))})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:RESULT)
                  op: assign_op.Equal
                  rhs: {(${ Id.VSub_Name RESULT)}
                  spids: [204]
                )
              ]
            )
          ]
        )
    )
    (command.ShFunction
      name: 'variable::Nil::toSexp'
      body: 
        (BraceGroup
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name name:RESULT)
                  op: assign_op.Equal
                  rhs: {(DQ <Nil>)}
                  spids: [227]
                )
              ]
            )
          ]
        )
    )
  ]
)