cache
fun <A, B, R> ((A, B) -> R).cache(cacheOptions: CacheOptions = CacheOptions()): Pair<Cache<Pair<A, B>, R>, (A, B) -> R>