Saga

fun <A> Saga(action: suspend SagaEffect.() -> A, compensation: suspend (A) -> Unit)