From a PHP perspective, it is quite similar. PHP has a long history and it hasn't always cared about what types are passed in where, and often it relied on assumptions, much like OP is suggesting, to automatically cast values to the expected value. As we can see here, that behaviour is now...