Adding parentheses when checking if the instance variable is defined is a
better check. This correctly returns nil when the instance
variable is not defined and false when the instance variable
is not zero.

Using the specific reflection methods such as instance_variable_defined?
for instance variables or const_defined? for constants is less error prone
than using defined?.