Unfortunatelly you are wrong. Any Boolean variable also could be a null.
Availability of the variable during a design-time is something different (it's based on resulting variables and paths connections) form existence of this variable during a run-time. For instance the variable hasn't been created because component responsible for its creation exited through other output (e.g. not found vs. found).
So the availablility of the variable on path and doing a mapping for this variable doesn't guarantee its real existence during a run-time.