Wails of disappointment greeted House Speaker Paul Ryan's endorsement of Donald Trump, tucked anticlimactically inside his Wisconsin hometown newspaper.

For legions of anti-Trump conservatives, Ryan was not only the last member of the Republican congressional leadership holding out on endorsing the billionaire who vexes them so. To #NeverTrump, Ryan was the last honest man. Now that Ryan has clambered aboard the Trump train, they can only make common cause with the backbenchers and blue-state Republican elected officials.

Among the less magnanimous Trump supporters — though, it should be noted, not Trump himself — Ryan's conversion was almost too little, too late. The voters have spoken, Mr. Speaker. What took you so long to get with the program?

Despite Ryan's delicate — and to many conservatives, disappointing — dance, the outcome was not a surprise. Barring another interview in which the billionaire gave a bizarre response to a question about David Duke, Ryan was always going to endorse Trump eventually.

Ryan's differences with Trump on policy and political philosophy are both sincere and significant. It is hard to imagine the speaker is a fan of Trump personally. His public rebukes have been restrained and relatively infrequent, but they have spoken volumes each time.

But at the insistence of many of the same conservatives who are criticizing his Trump endorsement now, Ryan leads a Republican majority in the House. That majority can survive a Trump defeat but would be jeopardized by a Trump shellacking. It is dependent on millions of voters who cast their ballots for Trump in Republican primaries.

Ryan could not ignore the will of those voters indefinitely. Nor could he ignore the political futures of individual members who may be able to run somewhat ahead of Trump but not miles ahead of him.

Holding off on endorsing Trump is a luxury Ryan could afford as a columnist, blogger, or maybe even chairman of the House Ways and Means Committee. Not really as speaker.

All the available evidences suggests Ryan will easily dispatch his Trump-supporting primary challenger in Wisconsin. But if he held out too long, it was conceivable that the challenger would receive, and benefit from, appreciative Trump tweets about his candidacy. In an era of Eric Cantor-style upsets, who needs that?

Not Paul Ryan, apparently. More importantly, Ryan has a legislative agenda. He would have no doubt preferred that President Marco Rubio got to play Ronald Reagan to his Jack Kemp, signing Ryan reform measures into law. He's stuck with Trump instead.

Trump doesn't buy into a lot of that Ryan agenda, especially on entitlements. But the chances of Hillary Clinton signing any of it into law are roughly zero. With Trump, the odds are better. And given his shifting statements and obvious disinterest in policy details, perhaps Trump will prove more malleable than conservatives anticipate.

But the biggest reason this endorsement of the Republican nominee was inevitable is that Ryan has always worked within the system. His policy prescriptions and ideal legislative outcomes may be more ambitious than the GOP's have traditionally been. But he has climbed the ladder in a very conventional and traditional way.

When Ryan was first elected to Congress in 1998, the conservative bomb-throwers had largely been sidelined by a leadership team made up of former conservative bomb-throwers. It wasn't until later that a Jim DeMint or Ted Cruz could get ahead by plotting well-publicized revolts against the party leadership. Ryan is policy-oriented, philosophical, and ideological. But he has always been a party man.

This, even more than his incrementalism in planning to phase in sweeping changes to the welfare state over the course of decades, has always gotten him into trouble with other conservatives. It's part of why Ryan went along with the list of budget-busting spending items favored by George W. Bush, ranging from Medicare Part D and the Wall Street bailout to the Iraq war, despite his own reputation for fiscal conservatism.

The Ryan who kept his head down and gradually ascended the ranks to speaker, who in return saw his once-marginal budget plans become the consensus view of the congressional GOP (albeit a consensus now challenged by Trump), was never going to take a flyer on Gary Johnson or David French.

The Republican caucus in the House is splintered. It contains few committed #NeverTrump types, but many members who prefer vague assurances about “supporting the nominee” to actually explicitly endorsing Trump. Ryan could give this group cover, and time to grieve their primary defeat, for awhile but not forever.

Ryan faced few good options. His decision is debatable, but hardly shocking to anyone who has been paying attention.