memo

inline fun <T> memo(key: Any?, calc: () -> T): T