This is how these are consumed ```fun main() { ...
# arrow
g
This is how these are consumed
Copy code
fun main() {
    val reactorDao = object : NonBlockingReactorRepo<ForMonoK>, Async<ForMonoK> by MonoK.async() {
        override val libDBClient = ReactorLibDBClient()
    }

    val nonBlockingGet = reactorDao.getIt().fix().mono

    val blockingDao = object : BlockingRepo<ForIO>, Async<ForIO> by IO.async() {
        override val libDBClient = BlockingLibDBClient()
    }
    val blockingGet = blockingDao.getIt().fix().unsafeRunSync()
}

fun <F> RepoTC<F>.getIt(): Kind<F, String> = get()