&gt; <i>&quot;In Objective-C, we have syntax like this:&quot;</i><p>Not really - implicit casts were always a warning in Obj-C, along with any number of things that other languages consider errors.<p>My personal opinion is that Obj-C is so loose as a language that, for production uses at least, one should turn on as many warnings as the compiler gives you, and then turn on warnings-as-errors. We&#x27;ve been doing this for a while and it&#x27;s saved our bacon at least a few times.<p><i>Floats, doubles, and ints are not interchangeable</i>. Likewise, <i>int8, int16, int32, and int64 are not interchangeable</i> and IMO should never be converted from one to the other without the explicit knowledge of the programmer.<p>This seems like a nice convenience, but I&#x27;m skeptical if the convenience gained is worth the (IMO substantial) risk of shooting yourself in the foot.