(command.CommandList
  children: [
    (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.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: <'../lishp.sh'>
                    more_env: []
                    words: [{<'../lishp.sh'>}]
                    redirects: [
                      (Redir
                        op: <Id.Redir_DLess '<<'>
                        loc: (redir_loc.Fd fd:0)
                        arg: 
                          (redir_param.HereDoc
                            here_begin: {<EOF>}
                            here_end_tok: <Id.Undefined_Tok ''>
                            stdin_parts: [<'((lambda () \n'> <'         10)\n'> <'  )\n'>]
                          )
                      )
                    ]
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {(DQ <'Integer :: 10'>)}
        {(DQ (${ Id.VSub_Name value))}
        {(DQ <'Basic lambda without parameters'>)}
      ]
      redirects: []
      do_fork: T
    )
    (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: <'../lishp.sh'>
                    more_env: []
                    words: [{<'../lishp.sh'>}]
                    redirects: [
                      (Redir
                        op: <Id.Redir_DLess '<<'>
                        loc: (redir_loc.Fd fd:0)
                        arg: 
                          (redir_param.HereDoc
                            here_begin: {<EOF>}
                            here_end_tok: <Id.Undefined_Tok ''>
                            stdin_parts: [<'((lambda (x y) \n'> <'         (+ x y))\n'> <'  5 10)\n'>]
                          )
                      )
                    ]
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {(DQ <'Integer :: 15'>)}
        {(DQ (${ Id.VSub_Name value))}
        {(DQ <'Basic lambda with parameters'>)}
      ]
      redirects: []
      do_fork: T
    )
    (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: <'../lishp.sh'>
                    more_env: []
                    words: [{<'../lishp.sh'>}]
                    redirects: [
                      (Redir
                        op: <Id.Redir_DLess '<<'>
                        loc: (redir_loc.Fd fd:0)
                        arg: 
                          (redir_param.HereDoc
                            here_begin: {<EOF>}
                            here_end_tok: <Id.Undefined_Tok ''>
                            stdin_parts: [
                              <'(\n'>
                              <'  (\n'>
                              <'    (lambda (x) \n'>
                              <'         (lambda (y) \n'>
                              <'                 (+ x y))\n'>
                              <'    )\n'>
                              <'  2) 3)\n'>
                            ]
                          )
                      )
                    ]
                    do_fork: T
                  )
                right: <Id.Eof_RParen _>
              )
            }
        )
      ]
      redirects: []
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [
        {<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <equals>}
        {(DQ <'Integer :: 5'>)}
        {(DQ (${ Id.VSub_Name value))}
        {(DQ <'Returning lambda with closure'>)}
      ]
      redirects: []
      do_fork: T
    )
    (command.Simple
      blame_tok: <assert>
      more_env: []
      words: [{<assert> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <report>}]
      redirects: []
      do_fork: T
    )
  ]
)