Former vice president Joe Biden, former South Bend, Ind., mayor Pete Buttigieg, billionaire Tom Steyer and Sens. Elizabeth Warren (D-Mass.), Bernie Sanders (I-Vt.) and Amy Klobuchar (D-Minn.) appeared Tuesday in Des Moines for the seventh presidential debate — the final debate before the Iowa caucuses and before those three senators will need to devote the lion’s share of their time to the impeachment trial of President Trump. In all likelihood, this debate did not significantly shift the contest, leaving many caucus-goers still undecided.

Right off the bat, Biden was challenged on his Iraq War vote. He did what he needed to do: admit error in believing President George W. Bush, but then quickly pivot to his tenure with President Barack Obama and his work on withdrawing troops. He also got a chance to tout his work on the Iran nuclear deal; show expertise (e.g., special forces need to remain in the Middle East); talk about coalition-building; sound sensible on North Korea (meeting Kim Jong Un without preconditions is silly); and explain that we need to make trade deals with the rest of the world. The former vice president clearly showed he was the adult in the room.

On Medicare-for-all, Biden took it to Sanders for failing to offer a realistic funding mechanism. (He still didn’t present one.) In restating the cheaper avenue — adding a public option — he once more sounded like a grown-up. Klobuchar similarly told Warren and Sanders their plans were fantasy stuff and spoke up for pragmatic progressivism. She effectively scolded Sanders for not paying for his pie-in-the-sky idea and Warren for insisting on Medicare-for-all before she backed off it, wise-cracking, “The Affordable Care Act right now is 10 points more popular than the president of the United States.” Warren seemed to finally edge away from Medicare-for-all and in favor of intermediary steps. (One wonders where she would have been had she not spent the last few months defending Medicare-for-all.)

Biden’s best answer may have come too late in the debate for many viewers (who had long since turned the channel). Asked whether acquittal in the impeachment would embolden the president, Biden wisely said it was irrelevant. He then said he took Trump’s attacks on him and his “surviving son” as a badge of honor, adding: “It doesn’t really matter whether or not [Trump has] gone after me. . . . I can’t hold a grudge. I have to be able to not only fight but heal. And as president of the United States, that is what I will attempt to do.” It was a big-hearted, mature answer.

He drew laughs with a self-deprecating remark that he’d “been the object of [Trump’s] affection more than anyone on this stage.” (He also slipped in a mention of his overwhelming support among African Americans.)

Sanders and Warren sounded like twins on foreign policy — pull out all troops, end all wars — without depth or explanation for the consequences that follow. Neither showed a level of seriousness about how to protect our interests abroad. One would think, based on their answers, that removing troops (not national security) is the goal of the commander in chief.

On trade, Sanders was the most extreme, refusing even to endorse the modified North American Free Trade Agreement, which the AFL-CIO supports. (On the need to make trade deals so China does not write the rules and steal our intellectual property, Biden got the better of the Vermont senator.)

When asked about Sanders’s alleged comment that women couldn’t win, Warren stuck to her story; Sanders denied it. The argument was muted, but inadvertently gave Klobuchar the opportunity to boost of her own electability and competence (hear! hear!).

Buttigieg gave his usual polished performance, hewing to a moderate stance on foreign policy, health care, debt and trade. He may have been overshadowed in this debate by Biden and Klobuchar (another moderate), but he has an ace up his sleeve in the coming weeks: He can be in Iowa full time while his opponents from the Senate need to stay back in Washington for the impeachment trial. He even has a solo town-hall event later in the month. His biggest problem is that Biden is still strong, and Klobuchar is coming up strong, as well. For Buttigieg to succeed, those two will need to fade and, so far, this has not happened.

Klobuchar, who needs a strong finish in Iowa to have any chance for the nomination, certainly helped herself Tuesday night. On foreign policy, she sounded rational, explaining that we cannot move all troops out of the Middle East, stressing the need to amend the Iran nuclear deal and talking sense on trade (and the pain inflicted on farmers by Trump’s trade war). She cleaned the progressives’ clocks on Medicare-for-all, making clear that it was a “pipe dream” and setting forth bipartisan bills to lower drug costs. In talking about the costs of child care and college, she cut through the noise of free plans and spoke about connecting education to the job market. She gave a strong answer as well on how to compare her family’s humble beginnings with Trump’s sense of entitlement.

As for Steyer, he remains a walking advertisement for remodeling not only the debate format but the entire primary process. He was by far the least impressive candidate on the stage. It is time to junk a system that lets billionaires effectively buy themselves a place on a debate stage this far into the race.

Overall, the debate was low-energy and a bit dull, with moderators less interested in following up to challenge candidates than in sticking to ridiculously short time limits. With fewer candidates, why not let them talk for a couple of minutes at a time?

Winners: Klobuchar, Biden

Losers: Steyer, Sanders, Sanders’s and Warren’s trade and foreign policies, any desire for any more debates

Read more: