Instead of sending a confusing header, in order to give you a clearer idea of how one would use this library, here is an example use case for the current manifestation.  It is one of my unit tests.
 
This variant has a simple base class and doesn't offer any help with objects that work well with smart pointers or reference-counted bases.  I will generalize the framework so these traits may be expressed through templates or generators.
 
I also studied the persistence library before writing my own library and sending the first email.  I enjoyed what I saw there.  And it looked like it solved a slightly different problem than what I wanted to solve.  I was not terribly fond of the "look and feel" of the persistence library, although I was impressed by the techniques employed to realize the library.  In the context within which I plan on using my serialization library, however, my requirements are simple and deserve a simple solution.