Thanks a lot for your all attention and clues. If it comes to GOOPS, I think it would be best to specify a well-defined C-level interface (for it would go with the spirit of guile). This is the one thing.
The other is that in GOOPS a method is something different than what is commonly known in OOP, because a class doesn't know its methods (and furthermore, methods can be created at any time of program execution, not only during class definition). I'm not saying that it's good or bad (but it's quite confusing when a few similar but different notions share one name) There is also another issue concerning the fact that methods are available in global namespace -- the performance of the interpreter is always penalized by the type lookup (obviously, this doesn't have to be the case if the code is compiled) But the most important feature of OOP that is missed in GOOPS (because of global namespace methods) is the lack of the clean separation of interface and implementation in the way it's done in java, C# and the like. (At least that's what I think) Thanks again M.