code: func sortedKeys(m interface{}) []string {
  	v := reflect.ValueOf(m)
  	keys := make([]string, v.Len())
  
  	mapKeys := v.MapKeys()
  	for i, k := range mapKeys {
  		keys[i] = k.Interface().(string)
  	}
  
  	sort.Strings(keys)
  	return keys
  }
docs: // sortedKeys returns the lexically sorted keys from the given map. This is
  // used to make schema conversions are deterministic. This panics if map keys
  // are not a string.