code: func (n *Node) Leader() (uint64, error) {
  	n.stopMu.RLock()
  	defer n.stopMu.RUnlock()
  
  	if !n.IsMember() {
  		return raft.None, ErrNoRaftMember
  	}
  	leader := n.leader()
  	if leader == raft.None {
  		return raft.None, ErrNoClusterLeader
  	}
  
  	return leader, nil
  }
docs: // Leader returns the id of the leader, with the protection of lock