The problem is what happens when some Python code tries to call a class method on a Ruby object? if Python doesn't know about the hidden reference within Foo it won't be able to find Foo' in order to call the method.
The issue you are addressing is finding the applicable methods. The rules where to look when the object itself does not have the method. But mechanisms like this are needed for anything that seriously calls itself OO-language. And these mechanisms can be quite different if we consider Perl6, Java, C++, CLOS, Smalltalk, PHP, Eiffel, Ada, Ruby or Python (not that I know all of those...). And I understand that the method dispatching mechanism of Parrot should be powerful enough to cover at least Perl6, Ruby and Python. But does the way to achieve this have to be exactly how Ruby actually does it? Or is it enough if the way is well defined? These interlanguage-calls might have some extra complexity, at least that's my experience whenever you do something like that, due to different semantics.
Best regards,
Karl
P.S. I should learn Ruby.