There have been occasional violent episodes in Thai politics and one recent massacre (2010), but the struggle for a genuine democracy has usually been relatively restrained. Maybe that is why it has lasted so long.
In fact, the tug-of-war between the army, the monarchy and the conservative middle class on one side, and the peasants, the students and one billionaire's family on the other, has acquired a ritual quality.
The election later this month (14 May) will mark the third time Thailand has gone around the full range of political possibilities since the turn of the century.
A typical trip round the circuit starts with an election that brings some member of the Shinawatra family to power as prime minister. Despite their great wealth the Shinawatras are on the left politically, and they begin to implement a programme of subsidies to poor farmers, a national healthcare system and other expensive reforms.
Most middle-class taxpayers strongly resist any government spending that isn't on them, and start protesting against it in the streets of Bangkok.
Shinawatra supporters organise counter-demonstrations, and it turns into a struggle in the streets. Sometimes the opposing sides even wear different-coloured shirts (red for Shinawatra, yellow against) to show their loyalties.
The turmoil in the streets gives the army a pretext to shut down the elected government by a military coup that "restores order". The courts obediently ratify the army's actions and jail or ban the opposition's leaders, but now the shoe is on the other foot.
As the military junta settles into power, its legitimacy is challenged by renewed demonstrations by students, the urban poor, and farmers. Within a few years, the junta leader tries to regularise his position by running for office as a "civilian" under a new constitution written by the military. (New Thai constitutions last an average of four years.)
Sometimes the newly civilianised great leader -- the current incumbent is former General Prayut Chan-o-cha -- manages to "win" the first rigged election, but by the second election after a coup one of the Shinawatras is invariably back in office.
First time around, in 2001, the new prime minister was the paterfamilias of the clan, Thaksin Shinawatra. He made his fortune in telecommunications but stayed loyal to his humble origins. His social welfare policies were condemned by angry conservatives as "bribes" to the poor. He was removed by the military in 2006 and went into exile.
Second time, in 2011, it was his youngest sister, Yingluck Shinawatra, who became prime minister. She pursued the same populist policies and was removed from office and replaced by Gen Prayut in 2014. She is also now in exile, but the pattern continues.
Gen Prayut made the usual transition from general to fake civilian prime minister, and his new constitution created a "Senate" whose 250 members are all appointed by the military.
That enabled him to "win" an election in 2019 even though he lost badly in the vote by the 500 elected members of the House of Representatives.
The popular response to that was a huge wave of student-led protests in 2020, which for the first time even criticised the monarchy. Those mass protests were crushed by an equally massive wave of arrests, but it was clear that the activist youth of the country were fed up with the old games.
So now comes Paetongtarn Shinawatra, Thaksin's 36-year-old daughter (popularly known as Ung Ing). She now leads his old party, Pheu Thai, and has been campaigning hard despite being more than eight months pregnant. The latest opinion polls give Pheu Thai 47.2% of the votes, followed by the Move Forward Party with 21.2%.
Move Forward is another reform-oriented party that is winning over a lot of first-time voters. Together with Pheu Thai, they might take 70% of the 500 seats in the House of Representatives, almost enough to outweigh the 250 military seats in the appointed Senate. Make a coalition with some third party in the House, and you have a reformist government in place.
But here's the problem: Pheu Thai's campaign promises are virtually unchanged since Thaksin Shinawatra's policies of 22 years ago. It's offering a 10,000 baht ($300) digital payout for every Thai aged 16 and older. It will raise the minimum wage by 60%. It will triple farmers' incomes by 2027. It will create 20 million high-paying jobs.
All the old populist promises, in other words, and practically guaranteed to elicit the same old reactions.
Maybe this election will produce a radical break with the past, but it could also be just the start of the next trip round the circuit.
Gwynne Dyer is an independent journalist whose articles are published in 45 countries. His new book is 'The Shortest History of War'.