A bit of tangential comment:

On Fri, Sep 11, 2015 at 11:48 AM, Taylan Ulrich Bayırlı/Kammer <xxxxxx@gmail.com> wrote:
Kevin Wortman <xxxxxx@gmail.com> writes:

If we also had a good external representation for record types, that
would make 'read' and 'write-shared' incredibly powerful, even more so
than they already are.  You could output whole object graphs including
not only lists and vectors, but also record types and hashtables. 

I do that often, via combination of srfi-10 and srfi-38 together.  But if we
go that path there's one caveat to watch out: Functional read-time
constructor doesn't handle circular structure well.  Gauche employs 
an ugly hack to circumvent the issue, but if we ever discuss generic DG
external representation in future srfi we need some clever solution.