memoize

fun <T : Any> () -> T.memoize(): () -> T

This acts as a lazy delegate but for functions.