pub trait Rng32 {
fn randi(&mut self, min: i32, max: i32) -> i32;
fn randf(&mut self, min: f32, max: f32) -> f32;
fn choice<'a, T>(&'a mut self, choices: &'a [T]) -> &'a T;
}
pub trait Rng64 {
fn randi(&mut self, min: i64, max: i64) -> i64;
fn randf(&mut self, min: f64, max: f64) -> f64;
fn choice<'a, T>(&mut self, choices: &'a [T]) -> &'a T;
}