(command.CommandList
  children: [
    (C {<printf>} {(DQ <'%d %s'> <Id.Lit_BadBackslash '\\'> <n>)} {<10>} {(DQ <foo>)})
    (C {<printf>} {(DQ <'%d %s'> <Id.Lit_BadBackslash '\\'> <n>)} 
      {(word_part.ArithSub anode:{<Id.Lit_Digits 10> <Id.Lit_Pound '#'> <Id.Lit_Digits 1>})} {(DQ <bar>)}
    )
    (C {<let>} 
      {
        (DQ <'m = 10#'> 
          (braced_var_sub
            token: <Id.VSub_Number 1>
            suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 1>} length:{<Id.Lit_Digits 2>})
          )
        )
      }
    )
    (C {<echo>} {($ Id.VSub_DollarName '$m')})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:m)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: 
                  (arith_expr.Binary
                    op_id: Id.Arith_Plus
                    left: 
                      {<Id.Lit_Digits 10> <Id.Lit_Pound '#'> 
                        (braced_var_sub
                          token: <Id.VSub_Number 1>
                          suffix_op: 
                            (suffix_op.Slice
                              begin: {<Id.Lit_Digits 4>}
                              length: {<Id.Lit_Digits 3>}
                            )
                        )
                      }
                    right: 
                      {<Id.Lit_Digits 10> <Id.Lit_Pound '#'> 
                        (braced_var_sub
                          token: <Id.VSub_Number 1>
                          suffix_op: 
                            (suffix_op.Slice
                              begin: {<Id.Lit_Digits 1>}
                              length: {<Id.Lit_Digits 3>}
                            )
                        )
                      }
                  )
              )
            }
          spids: [56]
        )
      ]
    )
    (C {<echo>} {($ Id.VSub_DollarName '$m')})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:m)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: 
                  {<Id.Lit_Digits 10> <Id.Lit_Pound '#'> 
                    (braced_var_sub
                      token: <Id.VSub_Number 1>
                      suffix_op: (suffix_op.Slice begin:{<Id.Lit_Digits 4>} length:{<Id.Lit_Digits 3>})
                    )
                  }
              )
            }
          spids: [87]
        )
      ]
    )
    (C {<echo>} {($ Id.VSub_DollarName '$m')})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:m)
          op: assign_op.Equal
          rhs: 
            {
              (word_part.ArithSub
                anode: {<Id.Lit_Digits 10> <Id.Lit_Pound '#'> ($ Id.VSub_Number '$1')}
              )
            }
          spids: [106]
        )
      ]
    )
    (C {<echo>} {($ Id.VSub_DollarName '$m')})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:m)
          op: assign_op.Equal
          rhs: {(word_part.ArithSub anode:{<Id.Lit_Digits 10> <Id.Lit_Pound '#'> <Id.Lit_Digits 1>})}
          spids: [119]
        )
      ]
    )
    (C {<echo>} {($ Id.VSub_DollarName '$m')})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:m)
          op: assign_op.Equal
          rhs: {(word_part.ArithSub anode:{<Id.Lit_Digits 10>})}
          spids: [132]
        )
      ]
    )
    (C {<echo>} {($ Id.VSub_DollarName '$m')})
  ]
)