Reduce

@Target(allowedTargets = [AnnotationTarget.FUNCTION])
annotation class Reduce

Marks a top-level single-model reducer handler of shape (M, A) -> M, to be collected by the redux-kotlin-routing-codegen KSP processor and emitted as an on<A> registration for model M. Matching is by the action's exact leaf class.

The annotated function must be top-level, take exactly two parameters (the model, then the action), return the model type, and use non-generic, non-nullable, public/internal model and action types.