In general, I love the way case statement matching works.  I'm having
trouble, however, when trying this:

  irb(main):001:0> case Integer
  irb(main):002:1> when String  then 'str'
  irb(main):003:1> when Integer then 'int'
  irb(main):004:1> when Array   then 'arr'
  irb(main):005:1> else '???'
  irb(main):006:1> end
  => "???"


Any ideas, other than `if ... elsif ... elsif .. else'?  Is there any way to
make case use == instead of ===?  Or something?

Chris