agent

fun agent(agentConfig: AgentConfig<Unit, Unit>.() -> Unit): Agent<Unit, Unit>
fun <I : Any> agent(agentConfig: AgentConfig<I, Unit>.() -> Unit): Agent<I, Unit>
inline fun <I : Any, O : Any> agent(agentConfig: AgentConfig<I, O>.() -> Unit): Agent<I, O>