Last night’s debates turned out to be perhaps the most substantive of the four dual debate events of the Republican primary cycle. Fox Business News used a different panel of moderators in each debate, and both of the panels kept the focus on economic topics, and for the most part steered clear of horse-race questions and antagonistic barbs. In fact, I’d give slightly higher marks to the first panel, whose pace and discipline helped spread the time more evenly between the candidates and made clear that substance rather than quips would prevail.

The success of this debate made CNBC and its panel the biggest loser last night, a point that was repeatedly made in social media.It was a dramatic contrast to the previous debate event on CNBC, which turned into an embarrassment that should be studied in journalism schools as a bald-faced example of media bias and hostility. I’m not sure I’d be this enthusiastic, but it may have been the first dual debate that actually left viewers wanting more:

Who won and who lost?

Undercard: I don’t think anyone had a bad night in the opening round. Chris Christie did best by focusing his attacks on Hillary Clinton, while Bobby Jindal spent much of his time attacking the rest of the Republican field and Christie in particular. That’s not an illegitimate strategy, but Jindal’s insistence on returning to the same fight did get a little tiresome, while Christie looked more like a leader. Mike Huckabee and Rick Santorum were solid, but largely unremarkable, although Santorum has the best blue-collar approach to economics among the four, and perhaps among the entire field.

Winners:

Marco Rubio and Ted Cruz — Or Ted Cruz and Marco Rubio, if you prefer. The two dominated the best moments of the debate, and did the best job of articulating a vision for the future of the country. Both of them tangled with other candidates — Rubio with Rand Paul, Cruz with a badly outmatched John Kasich — and prevailed without getting nasty. They made the best of their time, and finished strong. The edge between them shifted back and forth during the debate, but in the end they tied for the strongest performance.

Improved:

Rand Paul — Marco Rubio got the best of Paul’s exchange on defense policy, but mainly because most GOP voters will agree with Rubio. Paul shed his diffident and lecturing persona in the first half to really engage passionately in the second half, providing the first look in four debates at what gets the libertarians in the GOP excited about Paul. It wasn’t enough to win the debate or perhaps even move the needle in the presidential fight, but Paul may have provided himself a nice springboard to return to his Senate re-election campaign.

Jeb Bush — Who called off the Code Red on Rubio? After Bush’s campaign spent the past couple of days issuing dire threats about attacking Rubio, Bush turned his rhetorical guns on Hillary Clinton and Donald Trump instead. It worked, for the most part, although Bush still struggled at times to collect his thoughts and articulate his arguments. It’s still not enough to carry him to the top tier, and I’d be surprised if Bush gets any bump at all out of it, but it still was a noticeable improvement from the first two debates, and dramatically better than his embarrassing performance in the last one.

Steady performers

Carly Fiorina — It’s tempting to put Fiorina in the “improved” category, except that she’s been good in all four debates. She had another good night, scoring big in an argument with Trump over Putin after Trump tried to claim he knew the Russian leader because they’d been on 60 Minutes on the same night. She exclaimed that “we must take our government back!” several times to good effect with the audience. Still, this did not seem to provide any hint of a breakout that will change the polling in the primaries, and the time may be coming for Fiorina to consider her next moves.

Ben Carson — Steady may not be quite the right word, but in the end Carson did no damage to his standing. Neil Cavuto asked Carson about the questions surrounding his biography, and he gave a terrific answer, acknowledging the need to vet candidates but demanding fairness and professionalism from the media in the process. On policy, Carson still seems vague, and he got lost in a question about the Middle East. It was an uneven performance, but good enough to maintain his front-runner status.

Damaged:

Donald Trump — Immediately after the debate, Trump appeared on FBN to say that he’d heard “stories” about how this was his best debate performance yet. Those were indeed just stories. The transition to a substantive debate put Trump out of his league, and his reactions to it demonstrated his frustration. He got booed by the audience twice — once when he angrily told moderators that he didn’t need to hear from John Kasich, and another when he griped about Fiorina interrupting him. He had good moments too, including one near the end on corporate inversions, but flashing his temper and his arrogance in a performance when Trump mostly offered vague promises of greatness rather than specific policies might have some voters wondering whether they’ll trust him in a one-on-one fight with Hillary Clinton.

John Kasich — Trump should be grateful that Kasich is still around, though, because Kasich’s multiple meltdowns upstaged Trump’s poor performance at nearly every turn. It started when Kasich insisted on interrupting Bush to say something incoherent on leadership, and continued throughout the debate. Kasich hit the nadir when he tried taking on Ted Cruz over bank bailouts, insisting that he’d bail out Bank of America (in a hypothetical failure) to protect the depositors, apparently having never heard of the FDIC. Cruz and Rubio had just had a brilliant moment explaining why Dodd-Frank and bailouts were magnifying Too Big To Fail, and Kasich came along to double down on the status quo. It’s becoming clear how much of a gift Ed Fitzgerald was to the GOP in Ohio.

Impact — Frankly, it’s tough to predict an impact on this, because the one man who had the most to lose from a poor performance has been immune from that kind of accountability. In order to seriously shift the primary race, Donald Trump and/or Ben Carson would have to lose significant ground. Carson didn’t have a bad debate, and Trump’s support isn’t likely to shift much in response to one debate, anyway. Therefore, most of the impact will probably be on the lower end, with the marginal candidates running out of resources and supporters after having failed to move the needle in four debates. That will almost certainly redound to the benefit of Cruz and Rubio, but the shifts will be incremental rather than dramatic.