docs: func walk(scopes [][]tagInfo) string {
  	doc := ""
  	// Documentation will be chunked by scopes.
  	// Meaning, for each scope will be divided by one or more newlines.
  	for _, scope := range scopes {
  		indentStr, isIndented := priorityIndentation(scope)
  		block := ""
  		href := ""
  		after := false
  		level := 0
  		lastTag := ""
  		for _, token := range scope {
  			if token.closingTag {
  				endl := closeTag(token, level)
  				block += endl
  				level--
  				lastTag = ""
  			} else if token.txt == "" {
  				if token.val != "" {
  					href, after = formatText(token, "")
  				}
  				if level == 1 && isIndented {
  					block += indentStr
  				}
  				level++
  				lastTag = token.tag
  			} else {
  				if token.txt != " " {
  					str, _ := formatText(token, lastTag)
  					block += str
  					if after {
  						block += href
  						after = false
  					}
  				} else {
  					fmt.Println(token.tag)
  					str, _ := formatText(tagInfo{}, lastTag)
  					block += str
  				}
  			}
  		}
  		if !isIndented {
  			block = strings.TrimPrefix(block, " ")
  		}
  		block = wrap(block, 72, isIndented)
  		doc += block
  	}
  	return doc
  }