After more than seven years of promises to repeal ObamaCare, Republicans in Congress couldn’t muster the votes to get it done even with majorities in both chambers and a path through reconciliation in the Senate. Early this morning, John McCain stunned his colleagues by voting against the final “skinny repeal” bill on the floor, which Mitch McConnell crafted in hopes of rewriting in a conference with the House. Members of the Senate gasped as McCain cast his “no” late in the roll call vote after huddling with Democrats:

In a dramatic early Friday morning vote, the Senate voted down the Republican effort to overhaul the U.S. health insurance system, 49-51, with GOP Sen. John McCain of Arizona’s dramatic “no” — to gasps in the chamber — providing the key vote to send the bill to defeat. Lobbying from top GOP leaders, McCain’s colleague from Arizona Jeff Flake, Vice President Mike Pence and a swath of Republicans were not enough to sway McCain. Pence himself spent more than 20 minutes trying to get McCain to change his mind. … McCain’s vote came after a period of tense suspended animation, when much of the attention was on the Arizona Republican, who seemed to be returning to his maverick persona at just the wrong time for McConnell. “This is clearly a disappointing moment,” McConnell said after the vote gaveled down. “I regret that our efforts were simply not enough — this time.”

McCain joined all 48 Democrats as well as GOP holdouts Susan Collins and Lisa Murkowski, who had long been in the nay column. Needless to say, Donald Trump didn’t waste much time making his feelings known about all three on his favorite platform:

3 Republicans and 48 Democrats let the American people down. As I said from the beginning, let ObamaCare implode, then deal. Watch! — Donald J. Trump (@realDonaldTrump) July 28, 2017

McConnell spoke shortly afterward in a floor speech that suggested he might follow Trump’s advice:

“I imagine many of our colleagues on the other side are celebrating, probably pretty happy about all of this. But the American people are hurting and they need relief. Our friends on the other side decided early on that they did not want to engage with us in a serious way to help those suffering under Obamacare. They did everything they could to prevent the Senate from providing a better way forward including such things as reading amendments for endless amounts of time. Such things as holding up nominations for key positions in the administration because they were unhappy that we were trying to find a way to something better than Obamacare. So I expect that they are pretty satisfied tonight. I regret to say that they succeeded in that effort. “Now I think it’s appropriate to ask, what are their ideas? It’ll be interesting to see what they suggest as the way forward. For myself I can say — and I bet I’m pretty safe in saying for most on this side of the aisle — that bailing out insurance companies with no thought of any kind of reform, is not something I want to be part of. And I suspect there are not many folks over here that are interested in that. But it’ll be interesting to see what they have in mind. “Quadrupling down on the failures of Obamacare with ‘single payer’ — we had vote a little earlier thanks to the Senator from Montana— almost everybody voted present. Apparently, they didn’t want to make a decision about whether they were for or against socialized medicine. A government takeover of everything. European health care. Only four of them weren’t afraid to say they didn’t think that was a good idea. Maybe that’s what they want to offer. We will be happy to have that debate with the American people. So, it’s time for our friends on the other side to tell us what they have in mind. And we’ll see how the American people feel about their ideas.”

Frankly, it’s pretty difficult to be too disappointed in this failure or to be all that angry with McCain for ensuring it, because what was left on the floor by this morning was a joke. Rather than repeal ObamaCare and replace it with a system that put the health-care system on track for good free-market reforms, the final “skinny” bill all but guaranteed that private insurers would sink while the Medicaid expansion flourished. Republicans insisted that something better would come out of conference, but it’s impossible to believe that when nothing better came out of the two chambers that would nominate members of that conference.

In truth, the last chance for a full repeal of ObamaCare came and went in the 2012 election, before the program began. Once the benefits started rolling out, it became a political impossibility to roll them back — even with the disastrous results in the ObamaCare marketplaces. Even if Republicans had 60 votes, they’d still have less than 50 from states where Medicaid expansion, guaranteed issue, and community ratings were unpopular enough for politicians to eliminate or even tweak.

In this case, Trump’s right — ObamaCare will have to collapse before it gets replaced. But that collapse will be costly, disruptive, and the blame will fall on the usual suspects of big-government failures: not enough money and “waste, fraud, and abuse.” What replaces ObamaCare then will almost certainly be worse.