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.
Any place I can see an example of that? (just a gist or pastebin entry of some a non-critical code copy-pasta would suffice)