code: func StringToStringValueFunc() mapstructure.DecodeHookFunc {
  	return func(
  		f reflect.Type,
  		t reflect.Type,
  		data interface{}) (interface{}, error) {
  		if f.Kind() != reflect.String {
  			return data, nil
  		}
  
  		val := StringValue{}
  		if t != reflect.TypeOf(val) {
  			return data, nil
  		}
  		val.v = new(string)
  		*(val.v) = data.(string)
  		return val, nil
  	}
  }
docs: // StringToStringValueFunc is a mapstructure hook that looks for an incoming
  // string mapped to a StringValue and does the translation.