I made a couple of mistakes in my previous post: I meant to use ReplaceRepeated, not ReplaceAll, and I used the rule with parentheses just in case this might match better.
As I was saying, I just find it much easier to use the traditional notation involving parentheses for vectors and matrices. I think the following works for two dimensional vectors and matrices, but should I worry about the error messages? It seems to do what I want.