Philosophically, it makes sense to me.
'Nothing' is the absence of a value. None whatsoever.
This is quite distinct from having any value at all.
Therefore, it can't be "equal to" any value.
Not even another 'Nothing'
If it had a value and could be compared for equality,
then it would not be sufficiently distinct from zero.
I agree entirely.
The problem I still have with VB though, after decades of working with
a language that won't let you do it, is the fact that
If MyObjectOfType1 = MyObjectOfType2 Then
is actually allowed, if the default properties of the two objects are
compatible.
I *never* use default properties, but always type
If MyObjectOfType1.PropertyX = MyObjectOfType2.PropertyY Then
It can be a real pain, downloading code from the Internet and then
ploughing through it inserting all the missing default properties, but
I always do it.
If Text1 = List1 Then
MsgBox "Aaaagh!"
EndIf
Gale.