We should define what the semantics of Plasma's Delete operation is, especially in the presence of errors (object in use is deleted, non-existing object is deleted).
My current take on this is the following:
Delete should be a hint to the store to delete, so if the object is not present, it should be a no-op. If an object that is in use is deleted, the store should delete it as soon as the reference count goes to zero (it would also be ok, but less desirable in my opinion, to not delete it).
I think this is a good application of the "Defining errors away" from John Ousterhouts book (A Philosophy of Software Design).
Please comment in this thread if you have different opinions so we can discuss!