def trees
      Enumerator.new do |yielder|
        remaining = [self]
        remaining.each do |woods|
          next yielder << woods if woods.is_a?(Tree)

          woods.each { |wood| remaining << wood }
        end
      end
    end
def trees
      Enumerator.new do |yielder|
        remaining = [self]
        remaining.each do |woods|
          next yielder << woods if woods.is_a?(Tree)

          woods.each { |wood| remaining << wood }
        end
      end
    end
Return a breadth-first Enumerator for all the trees in the forest,
 and any nested forests