"ts"  wrote
....
> J> What sort of ambiguities?
>
>  What do you do in this case
>
>    class B < Array; end
>    module M
>       def a(Object o) end
>    end
>
>    class A
>       include M
>       def a(Array a) next_method; end

It would be helpful  (I have an idea but ...) if you could
describe what your next_method call does ...

>    end

>
>    module M
>       def a(B a) end
>    end
>
>    A.new.a(B.new)
>
>
>
>
> Guy Decoux
>
>


/Christoph