TurnSequencer
Parameters
serializer
The KSerializer used to encode actions to bytes for Raft replication and to decode committed bytes back to A.
format
The BinaryFormat used to encode and decode actions. This becomes the single source of truth for the wire encoding of every log entry, so any replay layer (e.g. snapshot / log scan) must use the same format instance to produce byte-identical payloads. Defaults to a shared CBOR instance.
Note: A is invariant because it appears in both input position (propose(action: A)) and output position (events). Only IndexedAction and TurnEvent are covariant (out A) since they are pure output carriers.