Encloses an action for which you want to catch any
shift. attempt is used in combination with catch.
Runs the EagerEffect to finish, returning B or shift in case of R, bridging eager computations into suspending.
Folds Option into Effect, by returning B or a transforming None into R and shifting the result.
When the Effect has shifted with R it will recover the shifted value to A, and when it ran the computation to completion it will return the value A. catch is used in combination with attempt.
ensure that condition is
true, if it's
false it will
shift with the provided value R. Monadic version of kotlin.require.
Short-circuit the Effect computation with value R.