okvs and nstore operations require a transaction handle, but single stand alone database operations that are an implicit transaction, like:
(okvs-in-transaction db (lambda (txn) (okvs-ref txn (pack "hello"))))
From the tutorial don't need this feature, and their code is thus more complicated with ceremony than required. This might also slow them down by requiring 3 round trip calls to the database when only 1 is required. The transaction handle might be replaced with #f, 'no-transaction or whatever, or made optional.
Echoing Rhys Ulerich concern that "Databases not providing the guarantees one requests are scary...", the transaction handle feature in general could give a false sense of security if the underlying OKVS doesn't support transactions. This might be addressed by using the config facility or something like it, or SRFI-167 could suggest or require bolting on a transaction facility.
- Harold