fn apply_fold( dots: &HashSet<(usize, usize)>, fold: (Axis, usize)) -> HashSet<(usize, usize)>
Return a new set where the first has been folded along the given axis