There is an exception of course [Roll Eyes]

The IsDeclared() function is an "impossible" function - it shouldn't be able to work as the expression (variable name) should be evaluated before the IsDeclared() function gets called. This would cause an error when "Explicit" is on and the variable is undeclared.

My guess is Ruud does a little bit of internal magic and that IsDeclared() is more like a language construct or operator rather than a function.