(command.CommandList
  children: [
    (C {<set>} {<-eu>})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:RUNFILES)
          op: assign_op.Equal
          rhs: 
            {
              (braced_var_sub
                token: <Id.VSub_Name RUNFILES>
                suffix_op: 
                  (suffix_op.Unary
                    tok: <Id.VTest_ColonHyphen ':-'>
                    arg_word: {($ Id.VSub_Number '$0') <.runfiles> <Id.Lit_Slash '/'> <io_bazel>}
                  )
              )
            }
          spids: [55]
        )
      ]
    )
    (command.ShFunction
      name: showfile
      body: 
        (BraceGroup
          children: [(C {<cat>} {(DQ (${ Id.VSub_Name RUNFILES) <'/examples/shell/data/file.txt'>)})]
        )
    )
  ]
)