The MVI add-on contract — opt-in. It does NOT enter Gezgin's state-holder world (it imposes no store/reducer); it is just the minimal surface codegen reads: a state stream, an optional effect stream, an intent entry point.
fun <E> ObserveEffects(effects: ERROR CLASS: Symbol not found for Flow<E>, onEffect: (E) -> Unit)
Standard helper that collects an effect flow SAFELY, only while STARTED. A route-explicit effect handler calls it: ObserveEffects(vm.effects) { effect -> ... }.