Follow-up #2 to : trying to use "get" inside a Maxima function - question about defstruct's



So I just converted all my code over to the defstruct method, when I discovered that once I do this : 
  defstruct(Tensor(val,rank));
  test:new(Tensor);
  test at val:matrix([1,1],[1,1]);
  test at rank:'Trank2LL;

When I try to access an array element (which I have to do a lot of) :
  test at val[1,1];

IT DOESN'T WORK!

Am I *really* going to have to do
  t:test at val;
  ...t[1,1]...

Everywhere in my code???

Thanks,
Bruce