This is called coercion — implicit conversion between types.<p>Numeric types coercion is very basic convenience that is present in many statically typed programming languages. Older languages like C used to allow unsafe conversions, but modern ones like C# or Java are doing it right: for example, adding int and float is allowed, but assigning float to int is not. There is no reason Swift shouldn&#x27;t have the same.<p>I suspect is has been given up (temporarily or not) because of type inference. Swift&#x27;s already giving &quot;expression is too complex&quot; errors in some situations, numeric coercions would surely make it worse.