type transformingStringValue … func newTransformingStringValue(val string, target *string, transformer func(string) (string, error)) *transformingStringValue { … } func (t *transformingStringValue) Set(val string) error { … } func (t *transformingStringValue) Type() string { … } func (t *transformingStringValue) String() string { … }