Previously zend_parse_parameters (and FastZPP) would handle invalid arguments depending on strict_types: With strict_types=1, a TypeError is thrown, with strict_types=0 a warning is thrown and (usually) NULL is returned. Additionally, some functions (constructors always and other methods sometimes) opt-it to throwing regardless of strict_types. This commit changes zpp to always generate an Error exception in PHP 8. Even with some of the zpp variation tests removed in php#3783, this is going to need a lot of test updates, as many tests are also testing zpp failures. I haven't really started on this yet.