fn variants(puzzle: &str, from: &str, to: &str) -> HashSet<String>