When German Chancellor Angela Merkel opened the borders of Germany to all refugees in 2015, initially I thought it was a great idea. I've amended that opinion now, in light of the fact that the policy was very badly thought out.
For a long time, I supported the West accepting as many Christian refugees as possible from Syria and elsewhere. Why? Because they are a particularly persecuted group. Yes, it's true that it's mainly Muslims being killed in Syria and Iraq, but that's because they are overwhelmingly Muslim countries. But within those countries, Christians, like the Yazidis in Iraq, are particularly vulnerable.
I've now changed my mind about accepting as many Christian refugees as possible, because I've spoken to Christian leaders from the region. They don't want the Christian presence in the Middle East, which is older than the presence of Islam, to disappear completely.
What I'm saying here is that these things are complicated and don't allow easy, knee-jerk answers.
I don't agree with US President Donald Trump's decision to temporarily stop refugees from certain Muslim-majority countries entering America. I'm all for properly vetting refugees, but I think he could have reviewed the current vetting procedure without ordering the temporary halt.
At the same time, the reaction of his critics has been wholly disproportionate. To listen to them, you would think he had ordered the rounding up and expulsion of all American Muslims.
Nothing Mr Trump has done, or will do, remotely compares to the type of human rights abuses that routinely take place in countries like China and Saudi Arabia. China and Saudia Arabia are rich, so we will talk about their human rights record in only a very muted way.
But we expect higher standards of America, I hear you say. No, when it comes to human rights we must demand the same standards of everyone. What must a political dissident in China think of the outrage Mr Trump's temporary banning order has caused compared to the lack of outrage at much worse abuses perpetrated by the Chinese government?
A country's refugee policy must balance many considerations. Two of the chief ones are care for refugees and the security of your own citizens. Both concerns are entirely worthy.
When Ms Merkel threw open Germany's borders, she was thinking almost entirely of care for refugees. When Mr Trump ordered his temporary ban, he was thinking almost entirely of the security of American citizens.
I don't think either of these concerns is intrinsically more moral than the other. I think both Mr Trump and Mrs Merkel have struck the wrong balance. I think Mrs Merkel was paying too little attention to security and Mr Trump is paying too much attention to it.
Mrs Merkel's policy, which caused continent-wide chaos, has barely come in for criticism here - and neither has Sweden's similar policy for that matter. The great and the good here regard German and Swedish policies as very generous. And that is that.
Both Germany and Sweden ended up dramatically applying the brakes to their very generous policies. This wasn't simply because of pressure from "xenophobes" and "Islamophobes". It's also because their policies were having bad effects on the ground.
In Sweden, for example, they found lots of unaccompanied minors entering the country only for many to disappear, with the very real possibility they were disappearing into sex slavery.
In both Germany and Sweden, there has been an increase in sex crimes related to immigration. In Germany, refugees, illegal immigrants and asylum-seekers are responsible for about twice as many sex crimes as their numbers in the population would suggest.
In Sweden, according to journalist Tove Lifvendahl: "There have been reports of Islamic State recruitment drives, not just in public places, but inside Swedish government programmes." He said the newspaper Svenska Dagbladet "exposed how some official schemes had been infiltrated by jihadists".
This is exactly the kind of thing Mr Trump is concerned about and this is without even mentioning truck attacks, bombings and shootings in various countries.
In fact, for six months in 2011, Barack Obama brought a near-total halt to processing refugees from Iraq, because a number of jihadists had managed to get into America disguised as refugees. This decision by Mr Obama didn't cause so much as a ripple.
That's because the media watchdogs were practically asleep when Mr Obama was in the White House. They are barking madly now, as they always do when a Republican is in residence.
As for Mr Obama, to my mind even his policy towards refugees erred too much on the side of security. From 2011 to 2014, he allowed barely 200 Syrian refugees into the US. This increased to 1,682 in 2015 and about 13,000 last year. That's a drop in the ocean compared with Germany or Sweden, which are at the opposite extreme.
So, a good refugee policy is morally obliged to strike the right balance between competing goods. Mrs Merkel's policy threw Europe, never mind Germany, into chaos and gave no thought to security. Mr Trump is making the opposite mistake.
But there is absolutely nothing wrong, in itself, with being concerned about the security of your own people. The reaction to Mr Trump's decision pays no attention to this perfectly legitimate consideration.
In fact, any leader who pays no attention to the security of their own citizens is so irresponsible they deserve to lose power.