This is the only group I'm not sure about: tight inner loop and passing structs by value. For now it is ok, and I'm pretty sure it won't change performance for the on-disk store. If we had a memory store with the same interface, it's possible we'd see a difference though. But this is something we can test later.