This seems to mostly be an argument that implicit conversions are harmful. I think that's generally agreed to be true, most newer programming languages require all type conversions to be explicit.
I suspect part of the problem is conversions between types is complex and annoying to implement in a compiled language. With the added bonus that's only something the end users care about not the compiler writer. Hence in the wild this stuff tends to be broken or inadequate. Like in C it's way broken. In Java it's way inadequate.
i think it would be sensible to add unsigned, and disallow implicit conversion (definitely at least narrowing conversions).
but java is a distant world to me.
For example, implicit conversion from a 32bit signed integer into a 64bit signed integer.