Good point. I would prefer this version in my own code because it doesn't do any copying, but for an introductory lab, the diagonal method is better.