avoid block_given? in enum.rb to reduce method calls