
module Kernel

  # Send only to public methods.
  #--
  # Which implementation is faster?
  #++

  def object_send(name,*args,&blk)
    #instance_eval "self.#{name}(*args)"
    if respond_to?(name)
      send(name,*args,&blk)
    elsif respond_to?(:method_missing)
      method_missing(name,*args,&blk)
    else
      raise NoMethodError
    end
  end

end

