code: func toString(v reflect.Value) (string, error) {
  	switch v.Kind() {
  	case reflect.String:
  		return v.String(), nil
  	case reflect.Interface:
  		return toString(v.Elem())
  	}
  	return "", errors.New("unable to convert value to string")
  }
docs: // toString returns the string value if possible, "" if not.