pub fn choose_iter<I, E, T, R: Rand>(from: I, rand: &mut R) -> Option<T>where I: IntoIterator<Item = T, IntoIter = E>, E: ExactSizeIterator + Iterator<Item = T>,