Uint oddness

Anyone explain why this causes a timeout error:

for (var i:uint = 4; i >= 0; i–) {

If I replace uint with int, or Number, it is fine.

It is the >= 0 that causes the issue. If I just do i > 0 it works fine.

If I do:

var i:uint = 0;

I get 0…

But it won’t work in a for loop. Odd.