pub fn recommit_after_leader_election<'a, P: PaxosPayload>(
accepted_logs: Stream<(Option<usize>, HashMap<usize, LogValue<P>>), Tick<Cluster<'a, Proposer>>, Bounded, NoOrder>,
p_ballot: Singleton<Ballot, Tick<Cluster<'a, Proposer>>, Bounded>,
f: usize,
) -> (Stream<((usize, Ballot), Option<P>), Tick<Cluster<'a, Proposer>>, Bounded, NoOrder>, Optional<usize, Tick<Cluster<'a, Proposer>>, Bounded>)