public static HashSet <UEdge2i> Cell_InactiveEdges_InBounds_Set(
     this PM_Maze maze,
     int x,
     int y
     )
 {
     return(maze.Cell_InactiveEdges_InBounds_Set(new Vec2i(x, y)));
 }
        public static HashSet <UEdge2i> All_InactiveEdges_InBounds_Set(
            this PM_Maze maze
            )
        {
            int width  = maze.Q_Width();
            int height = maze.Q_Height();

            HashSet <UEdge2i> inactiveEdges = new HashSet <UEdge2i>();

            for (int x = 0; x < width; x++)
            {
                for (int y = 0; y < height; y++)
                {
                    inactiveEdges.UnionWith(maze.Cell_InactiveEdges_InBounds_Set(x, y));
                }
            }
            return(inactiveEdges);
        }