It looks like Nothing is used to declare a variable for use at a later time.
Almost. In dynamically typed languages like Python, assigning a value and declaring the type occur in the same motion:
MyList = [1,2,3]
means
"Declare MyList as a reference to a list, and assign it to the list [1,2,3]."
But in statically typed languages -- C, VisualBasic -- variables have to be declared at compile time before being assigned. Thus:
Dim a as Integer 'declares a
a = Nothing 'assigns a
So modify your statement slightly ... "It looks like Nothing is used to assign values for use at a later time."
But put that way, it becomes clear that, even in Python, unassigned variables could throw errors later down in the code. For example:
Dim a as Integer
a = Nothing
GetPossibleNewValue(a) 'might change a, might not
print a
If the assignment is skipped in the corresponding Python code, an error will be thrown at
print a.
Jeff