code: func primitiveConversion(inType, outType reflect.Type) (string, bool) {
  	switch inType.Kind() {
  	case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
  		reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64,
  		reflect.Float32, reflect.Float64:
  		switch outType.Kind() {
  		case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64,
  			reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64,
  			reflect.Float32, reflect.Float64:
  			return outType.Name(), true
  		}
  	}
  	return "", false
  }
docs: // primitiveConversion returns true if the two types can be converted via a cast.