Use strings.Builder when a loop must combine several strings. Go strings are immutable, so repeated += operations allocate a new string and copy earlier contents; Builder accumulates characters more efficiently. section 5.2.1
Implementing String on feedback
A feedback value can implement fmt.Stringer by writing each hint into a Builder and returning the completed string: var sb strings.Builder for _, h := range fb { sb.WriteString(h.String()) } return sb.String() The naive output += h.String() implementation is retained only for benchmarking; strings.Join is another option when the data already exists as a []string. section 5.2.1


