code: def inspect_list(&block)
        res = [block_given? ? yield(self) : object_identifier]
  
        each_item do |item|
          lines = item.inspect(&block).split "\n"
  
          res.push((item.last? ? '└─╴' : '├─╴') + lines.shift)
          padding = item.last? ? '   ' : '│  '
          lines.each { |line| res.push padding + line }
        end
  
        res.join("\n")
      end
docs: Overrides the default inspect method to provide a more useful view of the
   list.
  
   Importantly this implementation supports nested lists and will return a
   tree like structure.