pub type Solution = Puzzle;
struct Solution { pub tiles: HashSet<Tile>, pub vec: Vec<Option<Tile>>, }
tiles: HashSet<Tile>
vec: Vec<Option<Tile>>