The early upgrade calculator on the o2 website says it will cost me £220 to upgrade early. The o2 recycle website says they will pay £240 for my 3GS 16gb. They pay me £20 to give me a new iphone if I agree to extend my contract by a year? THAT'S AWESOME.
You're missing the fact that you still need to buy a new iPhone4. The £220 just gets you out of your current contract - it does not get you a new phone.