This RFC adds generic type syntax to PHP. Classes, interfaces, traits, functions, methods, closures, and arrow functions can declare type parameters; those parameters carry bounds, defaults, and variance markers; type arguments may be supplied at use sites and at call sites via turbofish.
A new syntax for declaring the “set” operation visibility of an object property
Chain method on newly created objects without parentheses
I've been writing about this for years. If we ever want generics in PHP, this is the way.