pub trait Choosable<T, R: Rand> {
fn choose_filtered<P>(&self, filter: P, rand: &mut R) -> Option<&T>
where
P: FnMut(&&T) -> bool;
fn choose(&self, rand: &mut R) -> Option<&T>;
}
pub trait Choosable<T, R: Rand> {
fn choose_filtered<P>(&self, filter: P, rand: &mut R) -> Option<&T>
where
P: FnMut(&&T) -> bool;
fn choose(&self, rand: &mut R) -> Option<&T>;
}