memoized

fun <Result> () -> Result.memoized(): () -> Result
fun <Input, Result> (Input) -> Result.memoized(): (Input) -> Result
fun <Input1, Input2, Result> (Input1, Input2) -> Result.memoized(): (Input1, Input2) -> Result
fun <Input1, Input2, Input3, Result> (Input1, Input2, Input3) -> Result.memoized(): (Input1, Input2, Input3) -> Result
fun <Result> () -> Result.memoized(validFor: Duration): () -> Result
fun <Input, Result> (Input) -> Result.memoized(validFor: Duration): (Input) -> Result
fun <Input1, Input2, Result> (Input1, Input2) -> Result.memoized(validFor: Duration): (Input1, Input2) -> Result
fun <Input1, Input2, Input3, Result> (Input1, Input2, Input3) -> Result.memoized(validFor: Duration): (Input1, Input2, Input3) -> Result