def each_item
      return to_enum(__method__) { count } unless block_given?
      return if empty?

      item = list_head
      loop do
        yield item
        item = item.next
      end
    end
def each_item
      return to_enum(__method__) { count } unless block_given?
      return if empty?

      item = list_head
      loop do
        yield item
        item = item.next
      end
    end
Iterates over each item in the list If a block is not given an enumerator
 is returned.