Yukihiro Matsumoto wrote:

> |In case I'm being unclear, if I do
> |class Thing
> |  def nil?
> |    true
> |  end
> |end
> |t = Thing.new
> |I think it should be the case that [t, nil, 7].nitems returns 1,
> |instead of 2 as it currently does.
> 
> Nil is a nil is a nil.  Defining nil? to be true doesn't make
> something nil.  It's just a false predicate.

On another note: Can we perhaps introduce Enumerable#count which returns 
the number of elements for which the block is true? I know that we can 
do .find_all { ... }.size, but constructing an Array of all elements 
just to get its size seems wasteful.