With 24 hours left until voting day, here are some letter grades for the national leaders along with comments on their report cards.
Justin Trudeau: C+
Teacher's comments: Justin's performance has probably been sufficient for the Liberals to win more seats than his opponents.
This means he has a decent shot at remaining at the top of the heap.
One of his finest moments came in Winnipeg on his second attempt to apologize for the blackface and brownface scandals. He sounded sincere and remorseful.
Justin also avoided humiliating himself in debates. In fact, he showed up Andy for his socially conservative views in the first French-language encounter, which proved to be decisive.
Justin's campaign also got off to a good start by revealing Andy's friends to be right-wing cranks. Kudos to him.
But there is room for improvement. Justin's biggest problem is that he can't give an authentic-sounding speech.
The crowds often go crazy when he arrives, but when he reaches the podium, his words and gestures just don't resonate with listeners. He comes across as a phony to all but his best friends.
The reality is that Justin is a wooden speaker with a weak vocabulary. In this regard, he's so much unlike his father, Pierre, and his political idol, Barack Obama.
It sounds harsh, but the only way forward is for him to tell the truth more often and become better at acknowledging weaknesses. He has the potential to do better next term but he needs to be kinder to those who disagree with him.
Andrew Scheer: C-
Teacher's comments: On several occasions in this campaign, Andy has been revealed as evasive. He's loose with the truth, claiming that Justin will raise the GST when there's no evidence that this is going to happen.
But distaste for Justin will likely avert the chances of Andy being completely trounced in this election.
Like Justin, Andy has difficulty giving a great speech. To date, he has been unable to connect viscerally with enough listeners to lift his team into majority territory.
Andy also seems to lack political antennae—for instance, he's completely out of touch with the anxiety that many are feeling about the climate crisis.
All he seems to care about are pocketbook issues and driving home the point that Justin must be punished over his misbehavour with SNC-Lavalin.
Andy didn't capitalize on the brownface and blackface scandal because his words didn't resonate with those who've felt discrimination.
There's no big vision. No big dream. And his heavy Anglo accent while speaking French has proven fatal with French-language speakers. Andy desperately needed to gain their support to win this election.
But give him credit for showing Justin to be a hypocrite on a few occasions during the campaign, most notably with his use of two airplanes while claiming to be a climate hero.
That might have been enough to prevent another Justin majority, even if Justin's disenchanted former supporters end up voting for Yves-François, Jagmeet, or Elizabeth.
But overall, Andy is too negative. And that alienates him from others.
Jagmeet Singh: B+
Teacher's comments: Jagmeet has been a masterful campaigner in English, solidifying support and likely preventing an election-night debacle.
His friendly yet tough-minded approach resonates with younger folks, connecting with their anxiety over the climate, high cellphone bills, and the shortage of affordable housing.
His description of Justin and Andy as "Mr. Delay and Mr. Deny" was masterful. And Jagmeet's effervescent sense of humour and tremendous aptitude on social media sets him apart from all the others.
To his credit, Jagmeet is the first choice of many Indigenous people, due to his visit to the Grassy Narrows reserve. And his focus on environmental issues has marginalized Elizabeth, who is one of his chief competitors.
But Jagmeet has failed to forge deep bonds with the French speakers, which could lead to the defeat of several of his friends from Quebec.
It also remains to be seen whether Jagmeet can break Justin's grip on the votes of those of South Asian ancestry.
This was the big hope of Jagmeet's friends when he became their leader in 2017. After all, Jagmeet's parents are from Punjab.
But Justin still has tremendous appeal with large numbers of people of Indian heritage who are living in the suburbs.
Jagmeet's strengths, however, include being able to bounce back with a smile on his face from many devastating by-election losses.
But he still hasn't convinced enough of his older peers that he has sufficient depth in public policies to deserve the top job.
"Love and Courage" have served him well in this campaign, but next time around, he'll also need to show more gravitas.
All things considered, Jagmeet has shown the most improvement. He deserves an "A" for effort. And he's easily been the most popular in the English-language debates.
Elizabeth May: C+
Teacher's comments: Elizabeth comes across as authentic, intelligent, and caring.
But she didn't respond as well as she could have to attempts by Jagmeet's friends to paint her as a conservative in green attire.
Elizabeth treats her peers with respect but that doesn't always work well in election campaigns.
She knows how vicious Jagmeet's friends can be. And she hasn't responded well to their bullying.
Her videotaped campaign ads were bland and failed to sell her as a leader. Elizabeth needs a stronger social media presence from her friends.
Moreover, she did not kick up enough of a fuss when the national TV networks chose to focus most of their attention on Justin, Andy, and Jagmeet. Instead, Elizabeth remained nice in the face of brutal sexism.
None of Elizabeth's friends was even given a spot on Rosemary Barton's "War Room" panel on CBC's national newscast. That was totally unfair, given that the Elizabeth and Jagmeet were neck and neck when the campaign started.
The reality is that Elizabeth needed someone like Warren K. in her camp when things like this occurred if she wasn't going to stand up for herself.
On the upside, Elizabeth shines in interviews. She clearly has a better grasp of public policies than her counterparts—and not just when it comes to the climate.
Elizabeth needs some of her friends to get elected to ensure that Jagmeet's friends won't sell out the environmentally minded.
Maxime Bernier: D-
Teacher's comments: Many of Max's friends stepped up, sacrificed their time, and invested money in their campaigns, only to see all of these efforts going to waste. It's because Max was never able to put a serious dent in Andy's election machine.
In hindsight, these friends of Max will blame it all on Warren's hustling for Andy.
But the reality is that Justin and Jagmeet have also engaged in these kinds of activities against their opponents. They get their friends to dig up dirt in their war rooms and share it with everyone on social media.
Max has also been too insensitive to realize that people don't want large cuts to immigration. His repeated condemnations of "extreme multiculturalism" are seen as racist. That's political poison.
He also received a low mark because of his social-media attacks on teenage climate activist Greta Thunberg.
Max has a far weaker understanding of the physical sciences than most 16-year-olds.
But give credit to Max for speaking his mind. This type of honesty sets him apart from the others.
However, he needs to open his heart to those from different backgrounds and be less rigid in his dealings with others.
Yves-François Blanchet: A
Teacher's comments: Yves-François only recently decided to enter the election, bringing together some of the French speakers who were fighting among themselves. He's succeeded magnificently, forming a cohesive team that will deny Justin a majority.
Yves-François has also likely destroyed Andy's chance of winning.
And he's most certainly rolled back many of the gains that Jagmeet's friends achieved in Quebec in the Orange Wave of 2011 under Jack Layton, who's no longer alive.
Yves-François has done this with a carbon-neutral campaign, reinforcing his environmental messages. He speaks extemporaneously to local issues, zeroing in on Justin's doublespeak on the climate, and telling the French speakers what they want to hear in their own language.
He's been particularly effective in demolishing arguments that the French speakers wouldn't have a seat at the cabinet table.
According to Yves-François, that doesn't matter because he and his friends could vote on an issue-by-issue basis in the best interests of French speakers.
He also deftly responded when five of his friends were exposed for making Islamophobic statements. They all made canned statements, getting this out of the way quickly.
Yves-François is an experienced campaigner with a strong command of public policies. And he's proven to be an effective debater who has the confidence of many French speakers.
While this is deeply disappointing to those who are appalled by his opposition to public servants wearing turbans and hijabs, there's not a lot they can do about this.
Yves-François takes advantage of being underestimated. And he's an exceptionally hard worker.