Composition vs Concurrency
Composing software is notoriously difficult, especially when it is concurrent. Two fine-grained locked operations may for instance easily deadlock upon composition. One of the most appealing features of transactions is, on the other hand, that they compose. Indeed they do so, but only in their original, orthodox, form. As we discuss in the paper, as soon as we slightly relax the model to enable more concurrency, we incur the risk of breaking encapsulation.