I think if someone has paid, say, 20% of their total lifetime earnings, with a minimum of $50K over ten years, in taxes to the US government, and they have not committed any crime, they should be given citizenship. This gives the USG ten years to find anyone they'd rather not have in the country, and let them leave before they contribute more than their fair share to a country that rejects them.