This is something I was thinking about when reading your diff. I think it can be a good idea to take that kind of modular testing approach. I'm not 100% sure it's better, but I definitely don't hate it. :-)

The main thing I'm wondering is whether behaving too differently based on data source is a good thing. For example, we can indeed index an in-memory database, but it may not be necessary. I'm not sure. For now, go ahead with what makes you comfortable and we'll figure it out down the line.

Regardless of what we end up going with, `it_behaves_like "crud"` is a hilarious line of code.