Prototypes are very indicative of what a function/method/object does. A good programmer can scan quickly an object definition and its methods in prototype form and discover if it fits. Looking at prototypes encourages people to think in terms of encapsulation. Basically the question being asked is "Does this method need any more or less information to give me this result?". If the answer is yes then there is a design error in the method, its object or somewhere else. I (EwanBirney) personally like the IDL language for quick prototype check, using DesignInIdl even though I rarely use CORBA (IDL's main implementing system) in real life --- This is my first contribution to the Portland Wiki. I hope this page is in the spirit of this Wiki. Great site BTW. -- EwanBirney