`WM_draw_region_free()` should manage region-draw data, and not change region state. This should be done by normal region state management functions. Especially for a flag like `ARegion::visible` which is just the cached result of the region's visibility evaluation, not the proper way to actualy manage the region visibility.