evalOnce
fun <T> (() -> T).evalOnce(): () -> T
Caches the result of evaluating this function in case it gets called and does not call it a second time but returns the same result again.