Caching all queries will use very little memory.
I'd like to see optional caching of query results as part of this
infrastructure. I shouldn't have to explicitly use util_memoize to
cache results.
I like the content of the proposed spec, though it is a pain to read
in its current form (everyting inside a table width=750).