Consider this code. The insert method inserts a hash of values into two tables inside a transaction.
However, the fact that insert uses a transaction is not obvious to the caller.