I did wonder, but does it matter? If we abstract the start and end into a higher-order `transaction` function then it would do this anyway, right?

``` js
execute = transaction(function() {
  if … else …
};
```