code: func (arg decodedArgument) String() string {
  	var value string
  	switch val := arg.value.(type) {
  	case fmt.Stringer:
  		value = val.String()
  	default:
  		value = fmt.Sprintf("%v", val)
  	}
  	return fmt.Sprintf("%v: %v", arg.soltype.Type.String(), value)
  }
docs: // String implements stringer interface, tries to use the underlying value-type