Delete an Object
Note that deletion is unconditional, regardless of whether other pointers to the Object are still in use (possibly within other Objects). A safer approach is to defer deletion, until all references to an Object have expired, by using AST_BEGIN/AST_END (together with AST_CLONE and AST_ANNUL if necessary).
This routine attempts to execute even if STATUS is set to an error value on entry, although no further error report will be made if it subsequently fails under these circumstances.