So I believe we need to make a design decision, whether to either
- change the implementation of SetVisibility so it is a boon-only thing (and then the current scripts are fine as-is), or
- have SetVisibility be an overriding determination of visibility and add extra Effects, such as GrantVisibility for visibility boons and LimitVisibility for a visibility shroud, and change our current scripts over to using GrantVisibility
I first raised this question on GitHub, but as a design question I think we should open the discussion up to more people who don't review all the GitHub PRs, hence this post.