So, we can write p.m for real pointers, but we have to write (*p).m for classes that implement opStar()? That seems inconsistent. What's opStar for, if not to implement iterators?