I think I found why range_step_inclusive doesn't work in this case with uints. It's because if you use a uint for start and stop, the compiler will infer the step to be a uint too. Assigning -1 to a uint works, but -1 becomes 4294967295, so `range_step_inclusive(99u, 1u, -1)` becomes silently `range_step_inclusive(99u, 1u, 4294967295u)`
See below:
```
fn main() {
    let a:uint=-1;  
    println!("{}",a); // prints 4294967295
}
```

Not really a bug, although it was certainly unexpected behavior for me... Maybe there should be a compiler warning?