What version are you using?  I get:
#<UnboundMethod: A(A)#a>
try.rb:21:in `bind': bind argument must be an instance of A
(TypeError)
        from try.rb:21
while running: "ruby 1.6.8 (2002-12-24) [i686-cygwin]".

Was there a change in 1.7 or 1.8 with this behavior?  What would the
behavior be if "a" had used an instance variable that had been aliased
to something else in B, or a private instance variable of A?

TIA,
Alexander Schofield

> svg% b.rb
> #<UnboundMethod: A#a>
> "A#a 12"
> svg% 
> 
> 
> Guy Decoux