fold

inline fun <In, Out, Error : Any> RaiseScope<Error>.fold(block: (scope: RaiseScope<Error>) -> In, catch: (throwable: Throwable) -> Out = ::rethrow, recover: (error: Error) -> Out, transform: (value: In) -> Out): Out