suspend fun <K, R> dataLoader(batchLoader: BatchLoader<K, R>, block: (DataLoaderDSL<K, R>.() -> Unit)? = null): DataLoader<K, R>