#define Evaluate FabioEvaluate ? evaluate( null ) function FabioEvaluate( pcExp ) if ( isnull( pcExp ) ) return .null. else return evaluate( pcExp ) endifPersonally I'd prefer that every function NOT be rewritten to allow nulls to be passed, because it'll only serve to slowdown the language. Nulls are in general much less frequently occuring than real values so why should everyone be penalized on every function call? In the places where nulls can occur that you want to pass to a function that is not designed to support null parameters you can use an if test before calling the function, or as I've shown above wrap all the functions with your own code.