kirillrakhman
suspend fun <K, V> Cache<K, V>.cached(key: K, valueSupplier: suspend () -> V) { get(key) { async(c = valueSupplier).get() } }