The given <object> is destroyed, irrevocably. The programmer must either own <object> or be a wizard; otherwise, E_PERM is raised. If <object> is not valid, then E_INVARG is raised. The children of <object> are reparented to the parent of <object>. Before <object> is recycled, each object in its contents is moved to `#-1' (implying a call to <object>'s `exitfunc' verb, if any) and then <object>'s `recycle' verb, if any, is called with no arguments.
After <object> is recycled, if the owner of the former object has a property named `ownership_quota' and the value of that property is a number, then `recycle()' treats that value as a "quota" and increments it by one, storing the result back into the `ownership_quota' property.