The most stinging critiques of Donald Trump's presidency in the last few weeks have come not from Democrats, but from Republican members of the U.S. Senate.
"I will not be complicit," said Jeff Flake of Arizona. Trump's "reckless, outrageous and undignified behavior ... is dangerous to a democracy."
"The debasing of our nation, the constant non-truth-telling ... will be what he is remembered for," said Bob Corker of Tennessee. "He is obviously not going to rise to the occasion as president."
"Half-baked, spurious nationalism cooked up by people who would rather find scapegoats than solve problems," said John McCain of Arizona, slamming Trump's foreign policy.
And yet, Trump is not facing a serious intraparty revolt. Of 52 Republicans in the Senate, only seven have publicly criticized Trump's performance in office. Even fewer have voted against major legislation he wanted. And two of the seven, Corker and Flake, are retiring at the end of 2018. If there were a coherent "Never Trump" caucus in the Senate -- there isn't -- it would be shrinking, not growing.
The main reason is obvious: Trump commands the support of most Republican voters, and he's threatened to use his popularity to scotch the re-election of anyone who crosses him.
An NBC/Wall Street Journal poll last month found that 58 percent of GOP voters consider themselves primarily "supporters of Donald Trump," not "supporters of the Republican Party."
Flake's fate serves as a warning. The Goldwater conservative decided early that he couldn't stomach Trump's populist, not-really-conservative policies. Unlike most of his colleagues, including McCain, he steadfastly refused to endorse Trump as the GOP nominee.
That enraged the president, who announced that he would look for a loyalist to run against Flake, and offered to spend $10 million of his own money to bankroll the challenge. When Flake didn't stop his criticism, Trump's former advisor, Stephen K. Bannon, helped marshal support for Kelli Ward, a fiery former state senator who entered the race as the pro-Trump alternative.
Privately, GOP strategists didn't consider Ward a strong candidate -- but with the apparent imprimatur of the White House, her fundraising and support shot up. One poll last month showed her beating the incumbent easily, 58 percent to 31 percent.
Last week, Flake caved and said he had decided to retire.
"He went down without a fight," Bannon crowed. "Flake shows you one important thing: The money is getting turned off."
GOP strategists told me that Bannon was right: The senator's fundraising was drying up, based mostly on his dismal poll numbers. He could have run, but he would have faced a grueling yearlong ordeal that he was almost certain to lose.
And if anti-Trump Republicans can't win their primaries, they have no place to go, thanks to the institutional barriers that protect the two-party system. In most states, including Arizona, "sore loser" laws prevent a candidate who loses a primary from trying to get on the ballot in the general election as an independent. Theoretically, Flake could have skipped the primary and tried to qualify as an independent, but that isn't easy, either; nobody's succeeded in doing that in Arizona since 1993.
Meanwhile, the senators who aren't retiring are trying to pass legislation -- and that means many of them are hoping for help from Trump, even if they dislike his style of governing.
In practice, Trump's core legislative agenda -- tax cuts, an end to Obamacare, deregulation -- overlaps with traditional Republican priorities. That's why there have been episodic revolts on individual issues (healthcare, sanctions on Russia, state tax deductions) but no broad "Never Trump" movement. McCain, for example, still wants Trump's support on defense spending. Sen. Lindsey Graham of South Carolina, another occasional critic, wants support on tax reform and healthcare.
"Trump is only going to get stopped if Republicans are the ones who do it," said Mickey Edwards, a former Republican House member from Oklahoma, who has been a caustic Trump critic. "But they've gotten caught up in their crusades: repeal Obamacare, pass tax reform. It isn't worth it just to pass legislation. ... They've taken themselves hostage. If they feel intimidated by the fear of getting defeated, they should shed that. All they risk is losing their jobs."
That is, indeed, the GOP dissenters' choice. They can accommodate to Trumpism; they can retire; or they can stand and fight, knowing that they may lose their seats and be consigned to the political wilderness.
If they're serious about changing the direction of their party, the third way is the only way. It's not a good sign that so few have chosen it.