Proof using.
intros. unfold handleTimeout, tryToBecomeLeader in *.
repeat break_match; find_inversion; simpl; intuition.
Qed.

Lemma doGenericServer_type :
forall h st os st' ms,
doGenericServer h st = (os, st', ms) ->
type st' = type st /\ currentTerm st' = currentTerm st.