1. So that the user does not have to do the above for every frame in his code.
2. Vector fields like electrostatic fields would need the notion of coordinate variables attached to a frame for certain functions to be performed on them. For example, finding the divergence of a vector field. The only option would be to pass lists of Symbols as you defined above, but that is too cumbersome (and the user would again need to do the above wrt every pair of frames)