Provide `transaction(fn)` that commits on success and rolls back on exception.
Provide
transaction(fn)that commits on success and rolls back on exception.