I do not believe that the section on packing and unpacking belongs here.  There is no reason why packing and unpacking should not be managed ad hoc, either by appropriate use of the (r6rs bytevectors) / (scheme bytevector) library or by some other means.  It suffices just to define an interface to engines that provide ordered keys in the form of bytevectors and values in the form of bytevectors. 

If it seems like a Good Thing to have a packing algorithm that is compatible with FoundationDB's, it should be specified in detail in a different SRFI.  This should include not only the packable kinds of Scheme objects, but exactly how they are to be packed down to the byte level, so that an independent implementation is possible. Note also that Scheme exact numbers include arbitrary bignums and ratios, whereas the corresponding FDB type is 64-bit integers only.  The separate SRFI should make this clear.

Similarly, other packing schemes such as BSON or ASN.1 BER might be defined by separate SRFIs and used in connection with this SRFI.

John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
The first thing you learn in a lawin' family is that there ain't
no definite answers to anything.  --Calpurnia in To Kill A Mockingbird