Regarding the for comprehension I had one observation (which I thought of later). With that approach how will you mix transactional commands and business logic. e.g. https://github.com/debasishg/scala-redis-nb/blob/wip-transactions/src/test/scala/com/redis/api/TransactionOperationsSpec.scala#L153 or maybe some more complicated variant of this ?