C# compiler replaces null comparisons with a call to Nullable<T>.HasValue | Hacker News Reader