According to the documentation, Enumerable#count calls #size on the
object if it responds to it.

This behavior was removed on October 31, 2009 (in Git
c0a0aa0c47f2cd5c97a35effb8b073eeb84b7d2d).

The discrepancy between documentation and implementation
notwithstanding nor the fact that it¡Çs been two years since the change
was made, I don¡Çt think that this was an optimization that should be
removed on a whim.  I have come to depend on this behavior, as I much
prefer #count as a name to #length and #size in many cases.  Yes,
Array implements its own version of #count that is the same as #size,
but this isn¡Çt true for, for example, Hash.

Yes, Ruby 1.9 (or is that 2.0 now?) is still a moving target, but it
saddens me that changes like these can be made so easily without
notifying the community and  much, much worse  without updating the
relevant documentation.