Yukihiro Matsumoto wrote:
> 
> The point is that, as Ruby grows, the requirement for managing name
> conflict is raising.  I think we need something that can safely used
> to define utility _functions_, without affecting public method set,
> nor worrying about name conflict.  But the current "private" nor one
> you've described above cannot address this issue.

Then I have one last question:

  class MessageQueue
    def msg; @queue.first; end
    def wait; while msg.nil?;end; end
  end
  module Kernel
    private
    def msg(x); warn x; end
  end

In this case, I believe MessageQueue#wait will invoke the Kernel#msg
utility "function" (because private methods are looked up first) rather
than the intended MessageQueue#msg. Doesn't that defeat the goal stated
above?

Daniel