David, You raise many interesting points to which I will respond in more detail when I am back home and have a reasonable email system to use. But I must quickly respond to one point you raise, in particular: >The only new feature of OO is the ability to dynamically dispatch >which is a form of operator overloading. This is exactly right. I raised this point in a lecture once, and the "OO guys" snickered in the background. They didn't get it! Then, as many of you may remember, early C++ compilers did not get NORMAL overloading correct. They didn't think to include the return parameter of a function call (the ONLY procedures in C/C++) as part of the procedure specification, for overloading purposes. They did finally fix this. More later. sro