1. this isn't actually (memory) unsafe at all, currently the slice representation means that you can freely transmute between slice types without risking accessing invalid memory through the slice directly (of course, this doesn't hold when transmuting to `&[~T]`).
2. `StdRng` needs to expose a platform independent API, and `uint` works for this, since (I believe?) it's `u32` when using `IsaacRng` and `u64` when `Isaac64Rng` which is exactly what is required. I guess my assumption could be wrong if we ever have something like GCC's `-mx32`. 

Maybe this should just take `&'self [u8]` or even `&'self [u32]` since this is the GCT (greatest-common-type)?