Function destruct:
Defined in module overrides (file: /secure/simul_efun/overrides.c)

The destruct simul_efun guarantees that an object will always have remove()
called in it if it is destructed by another object.  destruct() with no
arguments destructs this_object WITHOUT calling remove, which is the
correct way to destruct an object from within a remove() function.
destruct() can also be passed an optional second arg, which is passed
to the remove() routine.  The update command passes 1 as the second
argument to indicate that a new copy will be reloaded immediately.

Prototype:
nomask varargs void destruct(object ob, mixed arg);
