From: transfire@... Date: 2006-06-30T18:31:52+09:00 Subject: Re: Symbol#to_proc is just so beautiful Perhaps instead of all_people.select(&:retired?) select could return a functor --in this case an enumerator: all_people.select.retired? And in fact I believe this functionality is in 1.9 already. It works with all enumeratable methods and methods of classes that serve the same purpose. I think it could be further generalized though for any method accepting a block. For: def foo(&blk) then foo.bar translates into foo { |x| x.bar } (It may require the ability to sepcify manditory blocks though, like I brought up in another recent thread) T.