PHPStan vs sanity checking
PHPStan wants to take my sanity checking away!
Consider this:
public function doSomething(ImageInterface $image) {
$imageId = $image?->id();
if (!$imageId) {
throw new \Exception('Bad image');
}}
If you run PHPStan on that at a high enough level, it will complain that the question mark isn't necessary because $image is guaranteed to not be NULL.