def long_out io , level
      indent = " " * level
      @children.each_with_index do |child , i|
        key , val = child
        io.write "\n#{indent}" unless i == 0
        io.write "- "
        key.out(io , level + 1)
        io.write " => "
        val.out(io , level + 1)
      end
    end
def long_out io , level
      indent = " " * level
      @children.each_with_index do |child , i|
        key , val = child
        io.write "\n#{indent}" unless i == 0
        io.write "- "
        key.out(io , level + 1)
        io.write " => "
        val.out(io , level + 1)
      end
    end
The long output is like an array of associations.
 Arrays start with the minus on each line "-"
 and each line has the association key => value, same as used for the {} syntax