> What about:
> 
> obj.send(:foo) # will call only public
> obj.send!(:foo) # will bypass private/protected, like the current send.

I don't normally weigh in on these discussions, but since it's come up again I'm strongly +1 for this. 

> reads better then funcall to me, at least.

I know very little lisp, and though the private method == function link makes sense, it's pretty esoteric.

I don't know what I'd expect a funcall method to do ... dial 0800 FUN NOW ?

happy new year
alex