Ian Bicking: the old part of his blog

Comment

You don't need to add any functionality at all to PyProtocols, all of this is already there. It's up to the object, the protocol (interface), or some adapter to decide what kind of object gets returned (or doesn't). If you want this proxying style, you simply make either the objects, the protocols, or adapters return these proxies. So the answer is yes, you would have to write code, but no, you don't have to change what PyProtocols does.
Comment on Interfaces: Signatures and Semantics
by Bob Ippolito