pub fn sample_without_replacement<T: Copy>(
    choices: &[T],
    num_picks: u32
) -> Vec<T>