Dang .. why didn't I think of that.  Silly me, it's so obvious.. and I
got so close to that punch line, and managed to totally miss it.

> So... what you really want to do is:
> 
>   array.each { |member|
>     case member           # not member.class
>       when Object::Subclass
> 
> etc.