Comment
Comment by smyrgeorge
Here I'm using coroutines + context-parameters.
I find much more convenient when I explicitly handle db transactions with context-parameters.
Also, using arrow's Raise context adds typed error handling, without too dsl usage.