an alist is probably sufficient
We already have the multiple value return thing happening, we just need to fill in the result-metadata field
Everything currently is returned as a string which is... okay I guess, usable enough to start with, but we really want to convert to/from existing datastructures in Guile.
This might only provide the Oids of the types, so we'd still have to look it up in postgres' internal type information table. We could provide a factory function that produces a procedure on which type maps to which value, and which memoizes looking this up as it goes...
A serializer could be passed into exec-query which knows how to transform each field.
If we change the resultFormat parameter passed to PQexecParams (the last one) we can get byte representations of different fields
For those people who don't want the O(n) access time of lists... :)