I came across something, which seem odd to me:
- If I remove an instance from a kids slot, not-to-be is called on that instance - If I remove an instance form any :owning t slot, not-to-be is called on that instance - If not-to-be is called on an instance, it is also called on all its kids
BUT
If not-to-be is called on an instance, it is NOT called on all instances its :owning t slots.
Is this desired behavior, or dfid it get overlooked when owning was introduced?
What is the recommended way to deal with it?
- write a not-to-be method for my specific class which setfs the owned slots to nil to trigger not-to-be? - write a not-to-be method for my specific class which mapcs not-to-be over its owned slots? or - fix it in cells and change not-to-be there so it does not only recurse down kids, but all owned slots?
Thanks for any advice,
Peter