Hm indeed, this is actually more unsafe than that I think. You can get two `&mut` aliases on the stack by invoking `task_rng().gen()` inside of another `task_rng().gen()`.

I think I'm going to switch this over to `Rc<RefCell<..>>`