docs: def begin(self):
          """Start a new transaction."""
          if self.in_transaction:  # we're already in a transaction...
              if self._auto_transaction:
                  self._auto_transaction = False
                  return
              self.commit()
          self.in_transaction = True
          for collection, store in self.stores.items():
              store.begin()
              indexes = self.indexes[collection]
              for index in indexes.values():
                  index.begin()