Ian Bicking: the old part of his blog

Comment

Then I guess you'd have to change your... interface objects? Using the improved Interface class as the superclass for all your interfaces...? Ideally you shouldn't need to make any changes to the objects that implement the interfaces in order to support contracts, only to the interfaces themselves.
Comment on Interfaces: Signatures and Semantics
by Ian Bicking