(PHP 8 >= 8.1.0)
Most non-final internal methods now require overriding methods to declare
a compatible return type, otherwise a deprecated notice is emitted during
inheritance validation.
In case the return type cannot be declared for an overriding method due to
PHP cross-version compatibility concerns,
a #[\ReturnTypeWillChange]
attribute can be added to silence
the deprecation notice.