Hi,

I am still trying to get a full grasp of the Modulo concept -  running 
-------------------------
def diff(aModule)
    aModule.private_instance_methods- aModule.private_methods
end
ObjectSpace.each_object(Module) do |aModule|
    if  diff(aModule) != [] 
        puts "\nModule #{aModule} is surprising to me"
        puts  diff(aModule).sort.join " " # no beautifier here
    end
end
----------------------------
gives me (I am running a pretty current cvs version) 
----------------------------
Module Marshal is surprising to me
dump restore

Module ObjectSpace is surprising to me
_id2ref add_finalizer call_finalizer define_finalizer each_object finalizers gar
bage_collect remove_finalizer undefine_finalizer

Module Math is surprising to me
atan2 cos exp frexp ldexp log log10 sin sqrt tan

Module Process is surprising to me
egid egid= euid euid= getpgid getpgrp getpriority gid gid= kill pid ppid setpgid
 setpgrp setpriority setsid uid uid= wait wait2 waitpid waitpid2

Module FileTest is surprising to me
blockdev? chardev? directory? executable? executable_real? exist? exists? file?
grpowned? owned? pipe? readable? readable_real? setgid? setuid? size size? socke
t? sticky? symlink? writable? writable_real? zero?
 
Module Module is surprising to me
append_features extend_object module_function
----------------------------
What is the semantic and practical meaning for a method to be a
``private_instance_method and not private_method''versus
``private_instance_method and private_method'' - the ladder being the norm?
Any ideas? 


Christoph