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
in the syntax function identity<T>(T $value): T { return $value; }
why adding a <T>. we already have info of type of param in param list and type of return after the :