doRedirect :: (RaftLog l e v) => Raft l e v -> IO ()
doRedirect vRaft = do
    raft <- atomically $ readTVar (raftContext vRaft)
    let endpoint = raftEndpoint raft
        member = raftName raft
    onPassAction endpoint member $ \reply -> do
        newRaft <- atomically $ readTVar (raftContext vRaft)
        reply $ mkResult False newRaft
    doRedirect vRaft
doRedirect :: (RaftLog l e v) => Raft l e v -> IO ()
doRedirect vRaft = do
    raft <- atomically $ readTVar (raftContext vRaft)
    let endpoint = raftEndpoint raft
        member = raftName raft
    onPassAction endpoint member $ \reply -> do
        newRaft <- atomically $ readTVar (raftContext vRaft)
        reply $ mkResult False newRaft
    doRedirect vRaft
doRedirect vRaft = do
    raft <- atomically $ readTVar (raftContext vRaft)
    let endpoint = raftEndpoint raft
        member = raftName raft
    onPassAction endpoint member $ \reply -> do
        newRaft <- atomically $ readTVar (raftContext vRaft)
        reply $ mkResult False newRaft
    doRedirect vRaft