A key part of my mental model of BTrees and why they're a good idea to use with the ZODB is understanding that they are composed of multiple persistent buckets with automatic conflict resolution. So maybe mention some of that before the details about what to use as keys...