I noticed that obj.method(m) is often giving an error. The error given on [].methods looks like: Tim:~/Desktop> macirb
def err(obj) obj.methods(1,1).each do |m| ?> begin ?> obj.method(m) rescue => e p e end end end => nil err([]) #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `?'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `{_NSRange=QQ}'> #<TypeError: unrecognized runtime type `?'>
No errors are raised with the same code (without parameters on the methods of course) in ruby 1.9.1.