(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.
   
