Perhaps we could follow the convention elsewhere in the codebase and call it `with_transaction`?