fn next(&mut self) -> Option<Self::Item> {
        self.i += 1;
        match self.i {
            1 => Some(0),
            2 => Some(self.chunks - 1),
            _ if self.i <= self.n => Some(self.dist.sample(&mut self.rng)),
            _ => None,
        }
    }
// Cover the first and last chunk in any case and (n-2) random samples in between
Cover the first and last chunk in any case and (n-2) random samples in between
Cover the first and last chunk in any case and ( n - 2 ) random samples in between
fn next(&mut self) -> Option<Self::Item> {
        self.i += 1;
        match self.i {
            1 => Some(0),
            2 => Some(self.chunks - 1),
            _ if self.i <= self.n => Some(self.dist.sample(&mut self.rng)),
            _ => None,
        }
    }
fn next ( & mut self ) -> Option < Self :: Item > { self . i += 1 ; match self . i { 1 => Some ( 0 ) , 2 => Some ( self . chunks - 1 ) , _ if self . i <= self . n => Some ( self . dist . sample ( & mut self . rng ) ) , _ => None , } }
Cover the first and last chunk in any case and (n-2) random samples in between
Cover the first and last chunk in any case and ( n - 2 ) random samples in between
&mut self
&mut self