memoize

infix fun <T, R> (T) -> R.memoize(initialValue: R): (T) -> R