On Monday, April 7, 2003, at 11:01 PM, Michael Granger wrote:

> It's also convenient when you are testing for a method object and you 
> don't care whether it's bound or unbound:
>
>   obj.is_a?( Method )
>
> whereas if one weren't a generalization of the other, you'd have to do:
>
>   obj.is_a?(Method) || obj.is_a?(UnboundMethod)
>
Except the two are really very different classes of things: are there 
any reasonable circumstances in which you'd want to allow either a 
Method or an UnboundMethod? In fact, this is actually an argument 
against the current hierarchy, as there are times when the interpreter 
allows either Proc or Method objects, but should explicitly _not_ allow 
UnboundMethods.

Cheers


Dave