My mind is bouncing around quite a bit over this idea, for several reasons. For instance, my initial thought was "yes - but having a persistent storage "data structure" that could be layered over any data structure would be better than just having a stack that had persistent storage".

Thought two was "even neater - having a tcllib module that could be plugged in and that would maintain persistent storage for nearly all of a program would be neater - a checkpoint facility so that a program's state was maintained and when you opened it, things could be reset just as you left them" (understanding that there may be some things within an average program which could not maintain persistence).

Then I thought "but couldn't you just create instead a mechanism that creates a "tie" between a database (such as sqlite) and an application, so that the information in the database appeared within the program as some sort of data structure, able to be read or written like a data structure instead of using select/update/delete sql statements".