Permanently deactivates an object.
A killed object has no fields, properties, methods or states. It still belongs to a
class, so is?
, class-of
and has-state?
will
continue to work as expected.
When an object is killed, all of its states will be disabled; then, the
fini
method will be invoked; then, each of the
fini-mixin
methods will be invoked, from right to left.
Killing an object which has previous been killed is a silent no-op.
When an error bubbles through initialization or finalization code, the object will be killed automatically. Under those circumstances, no finalizers will be executed.