Yukihiro Matsumoto wrote: > |By making the parameter default to the current behavior, we retain > |compatibility for all the developers out there, but by providing the > |parameter we give ourselves future flexibility. > > By this way, inconsistency (e.g. instance_methods and methods) > remains. We need to make incompatible change to accomplish > consistency. We can look at it the other way around: what is the cost of making the change vs. the cost of leaving things inconsistent? Ruby already has a fair number of inconsistencies: these are part of its charm. I agree it would have been nice if the reflection methods had started out consistent. But isn't there an element of 'wabi sabi' here (assuming I understand the concept of wabi sabi... :)? So, perhaps rather than making the incompatible change to defaults, we could revert to the old ones, but warn that the default will change in future (and set a date for that: Warning: instance_methods parameter will default to 'true' in Jan 2004 Cheers Dave