Suspending

constructor(applies: (Class<*>) -> Boolean, blocking: Boolean, after: suspend DecideScope.(S, Any) -> List<Any>, produces: Set<Class<*>>? = null)
constructor(applies: (Class<*>) -> Boolean, after: suspend DecideScope.(S, Any) -> List<Any>)