/// Hidden: The cells that make up the double,triple,quad
///
/// The tuple is all the indexes used to create the subset.
#[derive(Debug)]
enum Subset {
    Naked(usize, Vec<usize>),
    Hidden(usize, Vec<usize>),
}

fn gen_subset<T: std::iter::Iterator<Item = usize>>(
    sudoku: &Sudoku,