caching

fun <Key, Value> WriteKeyValueRepo<Key, Value>.caching(    kvCache: KeyValueRepo<Key, Value>,     scope: CoroutineScope = CoroutineScope(Dispatchers.Default)): FullWriteKeyValueCacheRepo<Key, Value>(source)
fun <Key, Value> WriteKeyValuesRepo<Key, Value>.caching(    kvCache: KeyValueRepo<Key, List<Value>>,     scope: CoroutineScope = CoroutineScope(Dispatchers.Default),     locker: SmartRWLocker = SmartRWLocker()): FullWriteKeyValuesCacheRepo<Key, Value>(source)