If all goes as planned, the Senate will vote today on the Republican Party's grand tax overhaul.

The last big policy scheme the GOP tried to pass was the repeal and replacement of ObamaCare. Like that bill, the GOP tax plan was passed by the House before coming down to a razor-thin vote in the Senate. Both bills also share the same basic flaws and inherent problems. And as I'm sure you recall, the legislative push to decimate ObamaCare ended in spectacular and humiliating failure.

This does not mean the tax bill will fail. It might well pass. But it does teeter on the brink. In the end, it will all come down to the votes of a handful of wavering Republican senators. And their rationale for supporting or opposing the tax bill may well mirror their decision-making process on TrumpCare.

Like TrumpCare, the GOP's tax bill is an incoherent patchwork stitched around one central goal. For TrumpCare, that was killing ObamaCare. For the tax bill, it's big tax cuts for the wealthy, with big cuts to business taxes, high-end income taxes, the estate tax, and the alternative minimum tax.

Needless to say, no Democrat wants anything to do with this tax plan, just as they refused to get onboard with gutting President Obama's signature legislative accomplishment. That has forced Republicans to use reconciliation — a Senate procedure that avoids the filibuster and allows bills to pass with simple majority votes — to try and pass both bills. But even by sidestepping the 60-vote supermajority required to overcome a filibuster, reconciliation's simple-majority threshold is still tight for Republicans, who hold a bare 52-to-48 majority in the Senate.

Among the catches with reconciliation is that any bill passed using this mechanism can't add to the deficit past its first 10 years. That means all the revenue losses from the GOP's big tax cuts for the wealthy have to be offset with either tax hikes or spending cuts elsewhere. TrumpCare tried to deal with this problem by slashing subsidies and reducing regulation in ways that would've cut government spending, but also thrown millions of Americans off their insurance while driving up premiums. Over the long-term, it would also have absolutely gutted Medicaid, the program that provides over 70 million low-income Americans with health coverage.

The Senate tax bill deals with the deficit problem differently. After a decade, most of the stuff in the GOP's tax bill just goes away completely. Among the few things that don't expire are the corporate tax cuts, and a change to how inflation is calculated for income tax brackets, pushing more people into higher tax brackets faster. Beyond 2027, the Senate bill would actually raise taxes on many people making under $75,000 relative to current law.

Republicans probably hope that pushing this event out 10 years will negate the political costs. In the short-term, they've tried to sweeten the pot by clearing out loopholes and deductions while cutting rates, expanding the standard deduction, and (very modestly) boosting some tax credits for working families. But as with TrumpCare before it, doing this in any sort of defensible way involves really detailed policy work the Republicans are clearly not up for. In an analysis of the Senate bill, The New York Times found the combined effect of all these changes will actually raise taxes for plenty of middle-class families as early as 2018.

Raising taxes or cutting spending on low- and middle-income Americans to make budgetary room for big tax cuts for the one percent is obviously poisonous politics. And Republican lawmakers know it.

Still, the GOP has been able to stay relatively unified in the House, where they have a comfortable majority. But in the Senate, the bill dies if the Republicans lose three measly votes. (Vice President Mike Pence would cast a critical tie-breaking vote in the event of a 50-50 split.) And with bills this complex, with this many moving parts, and with politics this bad, the opportunities and motives to jump ship are numerous.

Ultimately, Sens. Lisa Murkowski (R-Alaska) and Susan Collins (R-Maine) bailed on TrumpCare over its cuts to subsidies and Medicaid. Sen. John McCain (R-Ariz.) was upset about that too, but also that his party jammed the bill through both chambers with such speed and so few public hearings. Of course, the GOP had to do that, precisely because the effects of TrumpCare were too horrible to expose to the light of day for long. And they're doing that again with the tax bill.

This time around, Collins is upset over the death of the individual mandate, and Murkowski is not happy with the bill's general effects. Sen. Ron Johnson (R-Wis.) and Sen. Steve Daines (R-Mont.) are both unhappy with how the bill treats taxes for smaller businesses versus big corporations. GOP Sens. Bob Corker of Tennessee, Jeff Flake of Arizona, and James Lankford of Oklahoma are all worried about that $1.5 trillion in additional deficits in the first decade. Sen. Marco Rubio (R-Fla.) doesn't think the child tax credit boost is big enough. McCain is still cranky about regular order.

Still, none of these senators are guaranteed to jump ship. Indeed, they might all vote for the bill.

Collins, Murkowksi, Corker, and Johnson, in particular, all sound like they've been at least temporarily placated. But the vote still has to happen. The triggers Corker is calling for in case the bill doesn't deliver on revenue seem particularly likely to anger other Republicans. And even if the Senate does pass the bill, it still has to agree on one final version with the House before sending it to President Trump's desk. At which point, different senators could bail over other problems all over again. House Republicans seem unlikely to swallow Collins' ask that they strengthen ObamaCare's markets in exchange for killing the mandate, for instance. And the results would be bad for Americans even with that offset.

The upshot is this: If the tax bill fails, it will fail for the same basic reasons TrumpCare did. But if it passes, it will be for one reason and one reason only: The Republicans are even more terrified of failing their big-money donors on taxes than they were of failing their anti-ObamaCare base on health care.