I was wondering why the API makes you write transaction twice:
transaction->begin(transaction)
Why not: transaction->begin() transaction->begin(transaction)
Why not: transaction->begin()