We used to have a lot of classes like that, but for us PHPStan is sufficient and we effectively have generics now through static analysis warning us of improper usage of types in our CI and IDEs.

Is this not suitable for you?

Use cases might be different than parent, but PHPStan while being the best tool available is far from perfect, there's still a lo of logic it can't follow. First class citizen array type support baked into the language would hopefully behave better.

Oh absolutely, but simply for typed arrays it should suffice