pub type Transition<'a> = dyn Fn(&State) -> Result<State, NotCurrentHolder> + Send + Sync + 'a;Expand description
A pure kernel transition decision — a lifecycle on_X — passed to the transition port
Registry::apply (and its async twin). It is Send + Sync so the async binding’s apply
future stays Send across .await; the same type is used by both bindings, so the port is
literally one shape.