Gavin Kistner wrote:
> irb(main):006:0> foo===Array
> => false
> 
> Line 4 confirms what Kent pointed out...but line 6 seems to indicate 
> that the case statement switching off of the instance itself (which does 
> work) should not work.

Nevermind, I was confusing the appearance of === as a commutative 
operator with the fact that it's actually a method call.

(foo===Array) != (Array===foo)

and apparently the latter is the order that is used in a case statement.

I can see the reason that Module#=== was thus defined (and the power 
that the definition enables)...but the principle of most surprise 
strikes again :)

-- 
(-, /\ \/ / /\/