@torchy when you do "null == 0", it recognizes they're different types (== type checking rules are complicated but in this case yeah) so it's false
when you do "null > 0" or "null >= 0", then both arguments are turned into numbers
in this case, "null" becomes "0"
so "!(0 > 0)" but "0 >= 0"