I must stress, once again, that there is a difference between what a GUI presents to the user and what actually occurs with the data.
The problem is when people insist that what is done with the data must be the same as what is shown to the user. It's wrong-headed and completely unnecessary. It is wrong-headed because it not only abuses the internal mechanism, it also creates interoperability problems with other applications. Every time some program unilaterally changes data so that the data mirrors its GUI, it imposes that change upon every other program which uses that data. The result is a mess. It is completely unnecessary, since it is completely possible for a GUI to present the trash interface to the user without using a trash mailbox.
