There used to be a library out there somewhere for doing this with
almost any object (using #inspect as a marshaling format).  It does not
appear to be listed on the RAA, though.  I wish I could remember the
name; perhaps someone else remembers it.

Paul