pub fn choose_random_indexes<G: Gen>(
    gen: &mut G,
    upper_bound: usize
) -> HashSet<usize>