What are your thoughts on this?
What if, as a compromise, a generics implementation in PHP supported optional runtime enforcement through a php.ini configuration, similar to how assert() works with zend.assertions? This would provide the best of both worlds: runtime generics during development for stronger validation and debugging, while still allowing static analysis tools like PHPStan and Psalm to handle compile-time type analysis and developer tooling. In production, the runtime checks could be completely erased for maximum performance.