code: func (d *dir) String() string {
  	var buf bytes.Buffer
  
  	buf.WriteString(d.name)
  	buf.WriteRune(dirStartMark)
  
  	for i, c := range d.children {
  		if i != 0 {
  			buf.WriteRune(dirElementSep)
  		}
  		buf.WriteString(c.String())
  	}
  
  	buf.WriteRune(dirEndMark)
  
  	return buf.String()
  }
docs: // The string generated by this method is unique for each tree, as the
  // children of each node are sorted alphabetically by name when
  // generating the string.