func (r *SortedIntToStringMap) Mutate(k int, creator func() string, mutator func(old string) string) {
	r.root, _, _ = r.put(r.root, k, creator, mutator)
}
Mutate is like a Put when `k` isn't defined, but allows you to create or mutate the value found at the location of `k`.
package codegen
func (r SortedIntToStringMap) compare(a, b int) int { return int(a) - int(b) }
type SortedIntToStringMap struct {
	root *nodeIntToString
}
func NewSortedIntToStringMap() *SortedIntToStringMap { return &SortedIntToStringMap{} }
func (r SortedIntToStringMap) IsEmpty() bool {
	return r.root == nil
}
func (r SortedIntToStringMap) Size() int { return r.root.size() }
func (r *SortedIntToStringMap) Clear() { r.root = nil }
func (r *SortedIntToStringMap) Put(k int, v string) (old string, overwrite bool) {
	r.root, old, overwrite = r.put(r.root, k, func() string { return v }, func(_ string) string { return v })
	return
}