memoizeSuspend

fun <Result> memoizeSuspend(f: suspend () -> Result): suspend () -> Result
fun <Input, Result> memoizeSuspend(f: suspend (Input) -> Result): suspend (Input) -> Result
fun <Input1, Input2, Result> memoizeSuspend(f: suspend (Input1, Input2) -> Result): suspend (Input1, Input2) -> Result
fun <Result> memoizeSuspend(validFor: Duration, f: suspend () -> Result): suspend () -> Result
fun <Input, Result> memoizeSuspend(validFor: Duration, f: suspend (Input) -> Result): suspend (Input) -> Result
fun <Input1, Input2, Result> memoizeSuspend(validFor: Duration, f: suspend (Input1, Input2) -> Result): suspend (Input1, Input2) -> Result
fun <Input1, Input2, Input3, Result> memoizeSuspend(validFor: Duration, f: suspend (Input1, Input2, Input3) -> Result): suspend (Input1, Input2, Input3) -> Result