Calling operator*() or operator->() on a null STL smart pointer is undefined behavior.
Smart pointers are specified to become null after being moved from. So we can't warn on arbitrary method calls, but these two operators definitely make no sense.
The new bug is fatal, because it's UB unlike other use-after-move bugs.
Generally, we should also make a checker for dereferencing smart pointers that are known to be null, regardless of why they are null. Probably these checkers could interact somehow. But this case is kinda handy and is available to us almost for free.
Outdated TODO?