branch
fun <A, B, C> branch(a: (context: InputActionContext<A>) -> Branch<B, C>, aClass: Class<A>, bClass: Class<B>, cClass: Class<C>): AgentScopeBuilder<Branch<B, C>>
Branch from A to B or C using Kotlin reified types. Makes conditionals easy to express.
inline fun <A, B, C> branch(noinline a: (context: InputActionContext<A>) -> Branch<B, C>): AgentScopeBuilder<Branch<B, C>>
Convenience method to branch from A to B or C using Kotlin reified types.