perform

suspend fun <R> perform(f: ((R) -> Action) -> Action): R

Record the execution of an action which consumes a value of type R.


suspend fun <A, R> perform(f: (A, (R) -> Action) -> Action, x: A): R

Record the execution of an action which consumes a value of type R, and requires an additional argument of type A.


suspend fun <A, B, R> perform(f: (A, B, (R) -> Action) -> Action, x: A, y: B): R

Record the execution of an action which consumes a value of type R, and requires additional arguments of types A and B.