`self.ind_sample()` expects an immutable `&self`, so why does `sample()` take a `&mut self`?