retrieveWithFetch

open suspend fun retrieveWithFetch(key: String, fetch: suspend () -> T?): T?