Marker interface for all UiState types.

States in Circuit should be minimal data models that a Ui can render. They are produced by a Presenter that interpret the underlying data layer and mediate input user/nav events.

Uis receive state as a parameter and should act as pure functions that render the input state as a UI. They should not have any side effects or directly interact with the underlying data layer.

Circuit state types are annotated as @Stable and should only use stable properties.