I think he's asking for a special nil object that is not compatible with integers (nor with other objects).
I.e. x != UNDEFINED for all numbers (and objects), and 17 + UNDEFINED ==> some exception.
Something like this?
object undef = class { int(0..1) `==(mixed a) { return zero_type(a); } int(0..1) `!() { return 1; } }();
undef==0;
(1) Result: 0
undef==UNDEFINED;
(3) Result: 1
:-)
/Mirar