rememberDefaultCircuitSaver
Returns a CircuitSaver that captures the nearest LocalSaveableStateRegistry and passes values through when that registry accepts them.
The captured registry is used only to decide which values this saver handles. rememberSaveable still registers a stack with the registry at the stack's call site. Saveable-state holder child registries delegate this check to their parent. If a custom nested registry accepts different values, create and pass a saver from that registry's scope.
CircuitCompositionLocals uses this automatically when no saver is configured on Circuit or inherited from an outer ProvideCircuitSaver.
Saving throws when there is no registry or the registry rejects a value. Append CircuitSaver.NoOp or CircuitSaver.Dropping to explicitly drop unsupported values:
val defaultSaver = rememberDefaultCircuitSaver()
remember(defaultSaver) { defaultSaver + CircuitSaver.NoOp }