do you still think this is a good idea? I will vote of it is it buys us support for a large collection of datastores without much trouble, otherwise we'll probably want to be able to apply custom optimizations.