// foldName returns a folded string such that foldName(x) == foldName(y) // is identical to bytes.EqualFold(x, y). func foldName(in []byte) []byte { … } func appendFoldedName(out, in []byte) []byte { … } // foldRune is returns the smallest rune for all runes in the same fold set. func foldRune(r rune) rune { … }