Void in Maxima



what may not be clear to everyone in this discussion is that adding a 
new object with special properties like the ones suggested for "void" 
requires an examination of many places in Maxima.
For example, the instructions for simplifying "void + x"  would not be 
encoded in the object "void".  These are encoded on the property list of 
the object "+".
Thus to make "void", or for that matter, inf, und, ind, intervals, etc  
work, one has to modify +, *, sin, cos, exp, log, integrate, diff, etc 
etc etc.

Now maybe this organization is wrong, but that's the way it is.  
(arguing about whether cos(void)  should send a "void" message to "cos"  
or a "cos" method to "void" does not
offer a solution to  "void+infinity+interval(-1,1)")