> An interesting case is the is not null pattern. This will check whether the reference is not null. Using != null may check something different when the type overloads the != operator.
If it doesn't use the != operator then what does it use? How does it work with Nullable<T> which relies on that