PHP is dynamic language and each typed typehinted parameter has to be checked every time. I am suggesting new php.ini value "typecheck.enable = 1" which can be turned off.
Example: with default php config, a code like this would check each member of $users array: function demo(User ...$users) {} but with "typecheck.enable = 0", same code would be treated like it was written this way: function demo(...$users) {} Basically, php would simply *ignore* typehints and work like they are not there. It would be programmers responsibility to send correct values but people using typehints are not those still learning the basics. Just like it is programmers responsibility to restart php-fpm when using opcache.validate=0, it would be theirs responsibility to send correct values. Any decent IDE would mark errors for wrong parameter type and with tools like phpstan, it is almost impossible to make one. Only development computers would need to have this checks turned on. This creates no BC problems as it is a new feature. Given that typechecks can be turned off, all existing programs would benefit from extra speed. I am sending this mail by following rules from https://wiki.php.net/rfc/howto . I don't have any knowledge of php internals so unfortunatelly, I can't help with this. I at least hope someone will take this RFC into consideration.