> While it's nice to say your program to store to any kind of datastore, it's much more practical to have it optimized for the kind that's best for it.
I think this is very arguable. For the cases where you want to do some query optimization, thats what the Clojurize protocol's prompt function is intended for.
(prompt
[adapter expression]
"Execute a native database expression")